PostgreSQL 支持多種數據類型,包括:
-
數值類型 (Numeric Types):
- smallint:2字節整數,范圍從-32768到32767。
- integer:4字節整數,范圍從-2147483648到2147483647。
- bigint:8字節整數,范圍從-9223372036854775808到9223372036854775807。
- decimal/numeric:任意精度的浮點數。
- real:4字節浮點數。
- double precision:8字節雙精度浮點數。
- serial:自動遞增的4字節整數,通常用作主鍵。
- bigserial:自動遞增的8字節整數。
-
字符串類型 (String Types):
- character varying(n):可變長度的字符串,最大長度為 n。
- character(n):固定長度的字符串,長度為 n。
- text:不限長度的字符串。
-
日期和時間類型 (Date and Time Types):
- date:日期(年、月、日)。
- time [without time zone]:時間(小時、分鐘、秒),無時區。
- time with time zone:時間(小時、分鐘、秒),帶時區。
- timestamp [without time zone]:日期和時間,無時區。
- timestamp with time zone:日期和時間,帶時區。
- interval:時間間隔。
-
布爾類型 (Boolean Type):
- boolean:存儲 true 或 false 值。
-
二進制類型 (Binary Types):
-
網絡地址類型 (Network Address Types):
- inet:IPv4 或 IPv6 網絡地址。
- cidr:IPv4 或 IPv6 網絡地址和子網掩碼。
- macaddr:MAC 地址。
-
比特類型 (Bit Types):
- bit(n):固定長度的比特串,長度為 n。
- bit varying(n):可變長度的比特串,最大長度為 n。
-
復合類型 (Composite Types):
-
枚舉類型 (Enum Types):
-
幾何類型 (Geometric Types):
- point:二維平面上的點。
- line:無限長的線。
- lseg:線段。
- box:矩形。
- path:閉合或開放的路徑。
- polygon:多邊形。
- circle:圓。
-
范圍類型 (Range Types):
-
JSON 類型:
- json:存儲 JSON 數據。
- jsonb:存儲 JSON 數據,以二進制格式存儲。
-
數組類型 (Array Types):
這些數據類型可以滿足大部分應用程序的需求。在實際使用中,根據需要選擇合適的數據類型。