PostgreSQL10.1手冊_部分II.SQL語言_第8章資料型別_8.12.UUID型別
8.12. UUID型別
資料型別uuid
儲存由RFC 4122、ISO/IEC 9834-8:2005以及相關標準定義的通用唯一識別符號(UUID)(某些系統將這種資料型別引用為全域性唯一識別符號GUID)。這種識別符號是一個128位的量,它由一個精心選擇的演算法產生,該演算法能保證在已知空間中任何其他使用相同演算法的人能夠產生同一個識別符號的可能性非常非常小。因此,對於分散式系統,這些識別符號相比序列生成器而言提供了一種很好的唯一性保障,序列生成器只能在一個資料庫中保證唯一。
一個UUID被寫成一個小寫十六進位制位的序列,該序列被連字元分隔成多個組:首先是一個8位組,接下來是三個4位組,最後是一個12位組。總共的32位(十六進位制位)表示了128個二進位制位。一個標準形式的UUID類似於:
a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11
PostgreSQL也接受另一種輸入形式: 使用大寫位、標準格式被花括號包圍、忽略某些或者全部連字元、在任意4位組後面增加一個連字元。例如:
A0EEBC99-9C0B-4EF8-BB6D-6BB9BD380A11 {a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11} a0eebc999c0b4ef8bb6d6bb9bd380a11 a0ee-bc99-9c0b-4ef8-bb6d-6bb9-bd38-0a11 {a0eebc99-9c0b4ef8-bb6d6bb9-bd380a11}
輸出總是採用標準形式。
PostgreSQL為UUID提供了儲存和比較函式,但是核心資料庫不包含任何用於產生UUID的函式,因為沒有一個單一演算法能夠很好地適應每一個應用。uuid-ossp模組提供了實現一些標準演算法的函式。 pgcrypto模組也為隨機 UUID 提供了一個生成函式。 此外,UUID可以由客戶端應用產生,或者由通過伺服器端函式呼叫的其他庫生成。
本文轉自PostgreSQL中文社群,原文連結:8.12. UUID型別
相關文章
- go語言資料型別-基礎型別Go資料型別
- PostgreSQL10.1手冊_部分II.SQL語言_第15章並行查詢_15.4.並行安全性SQL並行
- C語言資料型別C語言資料型別
- go語言——資料型別Go資料型別
- 概念區別 【編譯型語言與解釋型語言、動態型別語言與靜態型別語言、強型別語言與弱型別語言】編譯型別
- C語言(基本資料型別)C語言資料型別
- q語言的資料型別資料型別
- 重溫手冊(一):資料型別資料型別
- 強型別語言變數和資料型別的理解變數資料型別
- C語言 列舉資料型別C語言資料型別
- c語言的基本資料型別C語言資料型別
- go語言資料型別轉換Go資料型別
- Redis學習手冊(List資料型別)Redis資料型別
- Redis學習手冊(Hashes資料型別)Redis資料型別
- Redis學習手冊(Set資料型別)Redis資料型別
- PostgreSQL學習手冊(常用資料型別)SQL資料型別
- 語言型別介紹及其Python的語言型別型別Python
- Redis學習手冊(String資料型別)Redis資料型別
- C語言-變數常量資料型別C語言變數資料型別
- go語言 string資料型別格式Go資料型別
- 6.Go語言基本資料型別Go資料型別
- 淺談程式語言型別的強型別,弱型別,動態型別,靜態型別型別
- 計算機語言:編譯型/解釋型、動態語言/靜態語言、強型別語言/弱型別語言計算機編譯型別
- js基本語法之 值型別(資料型別)(變數型別)JS資料型別變數
- 解釋型語言、編譯型語言 區別編譯
- Redis學習手冊(Sorted-Sets資料型別)Redis資料型別
- flutter【2】dart語言--內建資料型別FlutterDart資料型別
- GO語言學習——基本資料型別字串Go資料型別字串
- Python語言的全部資料型別分享!Python資料型別
- C語言資料型別大學霸IT達人C語言資料型別
- Go語言學習(4) - 基本資料型別Go資料型別
- C語言進階——基本資料型別01C語言資料型別
- 型別-PHP手冊筆記型別PHP筆記
- 型別 - PHP手冊筆記型別PHP筆記
- js資料型別之基本資料型別和引用資料型別JS資料型別
- 資料型別: 資料型別有哪些?資料型別
- C語言第三篇:C語言資料型別及各資料型別所佔記憶體位元組數C語言資料型別記憶體
- 資料型別,型別轉換資料型別