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):
这些数据类型可以满足大部分应用程序的需求。在实际使用中,根据需要选择合适的数据类型。