PostgreSQL 支持多种字段类型,以下是常见的主要类别和具体类型的简要概述:
- 数值类型
- SMALLINT:2字节整数,范围 -32768 到 32767
- INTEGER:4字节整数,范围 -2147483648 到 2147483647
- BIGINT:8字节整数,范围更大
- DECIMAL/NUMERIC:精确小数,用户可指定精度和小数位数
- REAL:4字节浮点数,单精度
- DOUBLE PRECISION:8字节浮点数,双精度
- SERIAL:自动递增整数,常用于主键
- 字符类型
- CHAR(n):固定长度字符串,不足补空格
- VARCHAR(n):可变长度字符串,指定最大长度
- TEXT:无长度限制的文本
- 日期/时间类型
- DATE:仅日期(如 2025-02-23)
- TIME:仅时间(如 14:30:00)
- TIMESTAMP:日期加时间(如 2025-02-23 14:30:00)
- TIMESTAMPTZ:带时区的时间戳
- INTERVAL:时间间隔(如 2 hours 30 minutes)
- 布尔类型
- BOOLEAN:真(true)或假(false)
- 二进制类型
- BYTEA:存储二进制数据
- JSON 类型
- JSON:存储 JSON 数据,文本格式
- JSONB:二进制 JSON,支持索引和高效查询
- 数组类型
- 支持多维数组,如 INTEGER[] 或 TEXT[]
- 特殊类型
- UUID:通用唯一标识符
- INET:IP 地址
- CIDR:网络地址
- MONEY:货币金额
- GEOMETRY/GEOGRAPHY:几何/地理数据(需 PostGIS 扩展)
此外,PostgreSQL 还支持自定义类型和枚举类型(ENUM),以及通过扩展(如 hstore)添加的类型。