支援的版本:目前 (17) / 16 / 15 / 14 / 13
開發版本:devel
不支援的版本:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

第 8 章 資料類型

目錄

8.1. 數值類型
8.1.1. 整數類型
8.1.2. 任意精確度數字
8.1.3. 浮點數類型
8.1.4. 序列類型
8.2. 貨幣類型
8.3. 字元類型
8.4. 二進位資料類型
8.4.1. bytea 十六進位格式
8.4.2. bytea 跳脫格式
8.5. 日期/時間類型
8.5.1. 日期/時間輸入
8.5.2. 日期/時間輸出
8.5.3. 時區
8.5.4. 間隔輸入
8.5.5. 間隔輸出
8.6. 布林類型
8.7. 列舉類型
8.7.1. 列舉類型的宣告
8.7.2. 排序
8.7.3. 類型安全
8.7.4. 實作細節
8.8. 幾何類型
8.8.1. 點
8.8.2. 線
8.8.3. 線段
8.8.4. 框
8.8.5. 路徑
8.8.6. 多邊形
8.8.7. 圓
8.9. 網路位址類型
8.9.1. inet
8.9.2. cidr
8.9.3. inet vs. cidr
8.9.4. macaddr
8.9.5. macaddr8
8.10. 位元字串類型
8.11. 文字搜尋類型
8.11.1. tsvector
8.11.2. tsquery
8.12. UUID類型
8.13. XML類型
8.13.1. 建立 XML 值
8.13.2. 編碼處理
8.13.3. 存取 XML 值
8.14. JSON類型
8.14.1. JSON 輸入和輸出語法
8.14.2. 設計 JSON 文件
8.14.3. jsonb 包含和存在
8.14.4. jsonb 索引
8.14.5. jsonb 下標
8.14.6. 轉換
8.14.7. jsonpath 類型
8.15. 陣列
8.15.1. 陣列類型的宣告
8.15.2. 陣列值輸入
8.15.3. 存取陣列
8.15.4. 修改陣列
8.15.5. 在陣列中搜尋
8.15.6. 陣列輸入和輸出語法
8.16. 複合類型
8.16.1. 複合類型的宣告
8.16.2. 建構複合值
8.16.3. 存取複合類型
8.16.4. 修改複合類型
8.16.5. 在查詢中使用複合類型
8.16.6. 複合類型輸入和輸出語法
8.17. 範圍類型
8.17.1. 內建範圍和多重範圍類型
8.17.2. 範例
8.17.3. 包含和排除邊界
8.17.4. 無限(無邊界)範圍
8.17.5. 範圍輸入/輸出
8.17.6. 建構範圍和多重範圍
8.17.7. 離散範圍類型
8.17.8. 定義新的範圍類型
8.17.9. 索引
8.17.10. 範圍的限制
8.18. 網域類型
8.19. 物件識別碼類型
8.20. pg_lsn 類型
8.21. 偽類型

PostgreSQL 具有使用者可用的豐富的原生資料類型集合。使用者可以使用 CREATE TYPE 命令將新的類型新增到 PostgreSQL

表 8.1 顯示了所有內建的通用資料類型。在別名欄中列出的大部分替代名稱是 PostgreSQL 由於歷史原因而在內部使用的名稱。此外,還提供一些內部使用或已棄用的類型,但此處未列出。

表 8.1 資料類型

名稱 別名 描述
bigint int8 帶正負號的八位元組整數
bigserial serial8 自動遞增的八位元組整數
bit [ (n) ]   固定長度的位元字串
bit varying [ (n) ] varbit [ (n) ] 可變長度的位元字串
boolean bool 邏輯布林值(真/假)
box   平面上的矩形框
bytea   二進位資料(位元組陣列
character [ (n) ] char [ (n) ] 固定長度的字元字串
character varying [ (n) ] varchar [ (n) ] 可變長度的字元字串
cidr   IPv4 或 IPv6 網路位址
circle   平面上的圓
date   日曆日期(年、月、日)
double precision float8 雙精度浮點數(8 個位元組)
inet   IPv4 或 IPv6 主機位址
integer intint4 帶正負號的四位元組整數
interval [ fields ] [ (p) ]   時間跨度
json   文字 JSON 資料
jsonb   二進位 JSON 資料,已分解
line   平面上的無限線
lseg   平面上的線段
macaddr   MAC(媒體存取控制)位址
macaddr8   MAC(媒體存取控制)位址(EUI-64 格式)
money   貨幣金額
numeric [ (p, s) ] decimal [ (p, s) ] 具有可選精確度的精確數字
path   平面上的幾何路徑
pg_lsn   PostgreSQL 記錄序號 (Log Sequence Number)
pg_snapshot   使用者層級交易 ID 快照
點 (point)   平面上的幾何點
多邊形 (polygon)   平面上的封閉幾何路徑
實數 (real) float4 單精度浮點數 (4 位元組)
小型整數 (smallint) int2 帶正負號的雙位元組整數
小型序列 (smallserial) serial2 自動遞增的雙位元組整數
序列 (serial) serial4 自動遞增的四位元組整數
文字 (text)   可變長度的字元字串
時間 (time) [ (p) ] [ 不含時區 (without time zone) ]   一天中的時間 (沒有時區)
時間 (time) [ (p) ] 包含時區 (with time zone) timetz 一天中的時間,包含時區
時間戳記 (timestamp) [ (p) ] [ 不含時區 (without time zone) ]   日期和時間 (沒有時區)
時間戳記 (timestamp) [ (p) ] 包含時區 (with time zone) timestamptz 日期和時間,包含時區
tsquery   文字搜尋查詢
tsvector   文字搜尋文件
txid_snapshot   使用者層級交易 ID 快照 (已棄用,請參閱 pg_snapshot)
uuid   通用唯一識別碼
xml   XML 資料

相容性 (Compatibility)

以下類型 (或其拼寫) 由SQL指定:bigintbitbit varyingbooleancharcharacter varyingcharactervarchardatedouble precisionintegerintervalnumericdecimalrealsmallinttime (含或不含時區)、timestamp (含或不含時區)、xml

每個資料類型都有一個由其輸入和輸出函數決定的外部表示形式。 許多內建類型都有明顯的外部格式。 但是,一些類型是 PostgreSQL 獨有的,例如幾何路徑,或者有幾種可能的格式,例如日期和時間類型。 一些輸入和輸出函數不可逆,也就是說,與原始輸入相比,輸出函數的結果可能會失去準確性。

提交更正

如果您在文件中看到任何不正確、與您使用特定功能的經驗不符或需要進一步說明的內容,請使用此表格回報文件問題。