# 第 8 章数据类型

目录

8.1.数值类型

8.1.1.整数类型

8.1.2.任意精度数

8.1.3.浮点类型

8.1.4.串行类型

8.2.货币类型

8.3.字符类型

8.4.二进制数据类型

8.4.1.拜茶十六进制格式

8.4.2.拜茶转义格式

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.8.7.界

8.9.网络地址类型

8.9.1.网络

8.9.2.苹果酒

8.9.3.网络对比苹果酒

8.9.4.macaddr

8.9.5.macaddr8

8.10.位串类型

8.11.文本搜索类型

8.11.1.向量

8.11.2.查询

8.12.UUID 类型

8.13.XML 类型

8.13.1.创建 XML 值

8.13.2.编码处理

8.13.3.访问 XML 值

8.14.JSON 类型

8.14.1.JSON 输入和输出语法

8.14.2.设计 JSON 文档

8.14.3.jsonb收容与存在

8.14.4.jsonb索引

8.14.5.jsonb下标

8.14.6.变换

8.14.7.jsonpath 类型

8.15.数组

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.16.6.复合类型输入和输出语法

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. 对象标识符类型

8.20.pg_lsn类型

8.21. 伪类型

PostgreSQL有一组丰富的本机数据类型可供用户使用。用户可以使用创建类型命令

表8.1显示所有内置的通用数据类型。“别名”列中列出的大多数备选名称都是PostgreSQL出于历史原因在内部使用的名称。此外,还有一些内部使用的或不推荐使用的类型,但此处未列出。

表8.1.数据类型

名称 化名 描述
比基特 int8 有符号八字节整数
大系列 连载8 自动递增八字节整数
位[(*n*) ] 定长位串
位变化[(*n*) ] 瓦比特[(*n*) ] 可变长度位串
布尔值 布尔 逻辑布尔值(真/假)
平面上的长方体
二进制数据 二进制数据(“字节数组”)
字符[(*n*) ] 字符[(*n*) ] 定长字符串
字符变化[(*n*) ] varchar[(*n*) ] 可变长度字符串
苹果酒 IPv4或IPv6网络地址
圆圈 在飞机上盘旋
日期 日历日期(年、月、日)
双精度 浮动8 双精度浮点数(8字节)
内特 IPv4或IPv6主机地址
整数 智力, int4 有符号四字节整数
间隔[*领域* ] [ (*p*) ] 时间跨度
json 文本JSON数据
jsonb 二进制JSON数据,已分解
线 平面上的无限直线
lseg 平面上的线段
马卡德尔 MAC(媒体访问控制)地址
macaddr8 MAC(媒体访问控制)地址(EUI-64格式)
货币金额
数字[(*p*, *s*) ] 十进制[(*p*, *s*) ] 可选择精度的精确数字
路径 平面上的几何路径
pg_lsn PostgreSQL日志序列号
pg_快照 用户级事务ID快照
指向 平面上的几何点
多边形 平面上的闭合几何路径
真实的 浮动4 单精度浮点数(4字节)
短整型 int2 有符号双字节整数
smallserial 连载2 自动递增两字节整数
电视连续剧 连载4 自动递增四字节整数
文本 可变长度字符串
时间[(*p*)[无时区] 一天中的时间(无时区)
时间[(*p*)]时区 蒂梅茨 一天中的时间,包括时区
时间戳[(*p*)[无时区] 日期和时间(无时区)
时间戳[(*p*)]时区 时间戳 日期和时间,包括时区
tsquery 文本搜索查询
tsvector 文本搜索文档
txid_快照 用户级事务ID快照(已弃用;请参阅pg_快照)
乌伊德 通用唯一标识符
xml XML数据

# 兼容性

SQL指定了以下类型(或其拼写):比基特, 一点, 位变, 布尔值, 烧焦, 性格多变, 性格, 瓦尔查尔, 日期, 双精度, 整数, 间隔, 数字的, 十进制的, 真实的, 短整型, 时间(有无时区),时间戳(有无时区),xml.

每个数据类型都有一个由其输入和输出函数确定的外部表示。许多内置类型都有明显的外部格式。然而,有几种类型要么是PostgreSQL独有的,比如几何路径,要么有几种可能的格式,比如日期和时间类型。一些输入和输出函数是不可逆的,即,与原始输入相比,输出函数的结果可能会失去准确性。