数据类型

PostgreSQL 9.4.4 中文手册
上一页 | 上一级 |  | 下一页

# 章 8. 数据类型

PostgreSQL有着丰富的内置数据类型可用。 用户还可以使用CREATE TYPE命令增加新的数据类型。

表 8-1显示了所有内置的泛用数据类型。 在"别名"列里列出的大多数可选名字都是因历史原因在PostgreSQL 内部使用。另外，还有一些内部使用的或者废弃的类型也是可用的， 但没有在这里列出。

表 8-1. 数据类型

名字 | 别名 | 描述
--- | --- | ---
`bigint` | `int8` | 有符号8字节整数
`bigserial` | `serial8` | 自增8字节整数
`bit [ (`n`) ]` |  | 定长位串
`bit varying [ (`n`) ]` | `varbit` | 可变长位串
`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` | `int`, `int4` | 有符号 4 字节整数
`interval [ `fields` ] [ (`p`) ]` |  | 时间间隔
`json` |  | 文本的JSON数据
`jsonb` |  | 二进制JSON数据，已分解的
`line` |  | 平面上的无限长直线
`lseg` |  | 平面上的线段
`macaddr` |  | MAC (Media Access Control)地址
`money` |  | 货币金额
`numeric [ (`p`, `s`) ]` | `decimal [ (`p`, `s`) ]` | 可选精度的准确数值数据类型
`path` |  | 平面上的几何路径
`pg_lsn` |  | PostgreSQL日志序列号
`point` |  | 平面上的点
`polygon` |  | 平面上的封闭几何路径
`real` | `float4` | 单精度浮点数(4 字节)
`smallint` | `int2` | 有符号 2 字节整数
`smallserial` | `serial2` | 自增 2 字节整数
`serial` | `serial4` | 自增 4 字节整数
`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快照
`uuid` |  | 通用唯一标识符
`xml` |  | XML 数据

> 兼容性: 下列类型(或那样的拼写)是SQL规范声明的： `bigint`, `bit`, `bit varying`, `boolean`, `char`, `character varying`, `character`, `varchar`, `date`, `double precision`, `integer`, `interval`, `numeric`, `decimal`, `real`, `smallint`, `time` (有时区或无时区), `timestamp` (有时区或无时区), `xml`。

每种数据类型都有一个由其输入和输出函数决定的外部表现形式。 许多内置的类型有明显的外部格式。不过，一些数据类型要么是PostgreSQL 所特有的，比如几何路径，要么是有若干种不同的格式，比如日期和时刻类型。 有些输入和输出函数是不可逆的，也就是说， 输出函数的输出结果和原始的输入比较的时候可能丢失精度。

上一页 | 起始页 | 下一页
`WITH` 查询 (通用表表达式) | 上一级 | 数值类型