问题报告 纠错本页面

章 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.9. 网络地址类型
8.9.1. inet
8.9.2. cidr
8.9.3. inet 对比 cidr
8.9.4. macaddr
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.15. Arrays
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.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. 伪类型

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

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

表 8-1. 数据类型

名字别名描述
bigintint8有符号8字节整数
bigserialserial8自增8字节整数
bit [ (n) ] 定长位串
bit varying [ (n) ]varbit变长位串
booleanbool逻辑布尔值(真/假)
box 平面上的矩形
bytea 二进制数据("字节数组")
character varying [ (n) ]varchar [ (n) ]变长字符串
character [ (n) ]char [ (n) ]定长字符串
cidr IPv4 或 IPv6 网络地址
circle 平面上的圆
date 日历日期(年, 月, 日)
double precisionfloat8双精度浮点数字(8字节)
inet IPv4 或 IPv6 主机地址
integerint, int4有符号 4 字节整数
interval [ fields ] [ (p) ] 时间间隔
line 平面上的无限长直线
lseg 平面上的线段
macaddr MAC (Media Access Control)地址
money 货币金额
numeric [ (p, s) ]decimal [ (p, s) ]可选精度的准确数字
path 平面上的几何路径
point 平面上的点
polygon 平面上的封闭几何路径
realfloat4单精度浮点数(4 字节)
smallintint2有符号 2 字节整数
smallserialserial2自增 2 字节整数
serialserial4自增 4 字节整数
text 变长字符串
time [ (p) ] [ without time zone ] 一天中的时间(无时区)
time [ (p) ] with time zonetimetz一天里的时间,包括时区
timestamp [ (p) ] [ without time zone ] 日期和时间(无时区)
timestamp [ (p) ] with time zonetimestamptz日期和时间,包括时区
tsquery 文本检索查询
tsvector 文本检索文档
txid_snapshot 用户级别的事务ID快照
uuid 通用唯一标识符
xml XML 数据
json JSON 数据

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

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