## 第 8 章数据类型 **目录** [8.1.数值类型](datatype-numeric.html) [8.1.1.整数类型](datatype-numeric.html#DATATYPE-INT) [8.1.2.任意精度数](datatype-numeric.html#DATATYPE-NUMERIC-DECIMAL) [8.1.3.浮点类型](datatype-numeric.html#DATATYPE-FLOAT) [8.1.4.串行类型](datatype-numeric.html#DATATYPE-SERIAL) [8.2.货币类型](datatype-money.html) [8.3.字符类型](datatype-character.html) [8.4.二进制数据类型](datatype-binary.html) [8.4.1.`拜茶`十六进制格式](datatype-binary.html#id-1.5.7.12.9) [8.4.2.`拜茶`转义格式](datatype-binary.html#id-1.5.7.12.10) [8.5.日期/时间类型](datatype-datetime.html) [8.5.1.日期/时间输入](datatype-datetime.html#DATATYPE-DATETIME-INPUT) [8.5.2.日期/时间输出](datatype-datetime.html#DATATYPE-DATETIME-OUTPUT) [8.5.3.时区](datatype-datetime.html#DATATYPE-TIMEZONES) [8.5.4.间隔输入](datatype-datetime.html#DATATYPE-INTERVAL-INPUT) [8.5.5.间隔输出](datatype-datetime.html#DATATYPE-INTERVAL-OUTPUT) [8.6.布尔类型](datatype-boolean.html) [8.7.枚举类型](datatype-enum.html) [8.7.1.枚举类型声明](datatype-enum.html#id-1.5.7.15.5) [8.7.2.订购](datatype-enum.html#id-1.5.7.15.6) [8.7.3.类型安全](datatype-enum.html#id-1.5.7.15.7) [8.7.4.实施细节](datatype-enum.html#id-1.5.7.15.8) [8.8.几何类型](datatype-geometric.html) [8.8.1.积分](datatype-geometric.html#id-1.5.7.16.5) [8.8.2.线条](datatype-geometric.html#DATATYPE-LINE) [8.8.3.线段](datatype-geometric.html#DATATYPE-LSEG) [8.8.4.盒子](datatype-geometric.html#id-1.5.7.16.8) [8.8.5.路径](datatype-geometric.html#id-1.5.7.16.9) [8.8.6.多边形](datatype-geometric.html#DATATYPE-POLYGON) [8.8.7.界](datatype-geometric.html#DATATYPE-CIRCLE) [8.9.网络地址类型](datatype-net-types.html) [8.9.1.`网络`](datatype-net-types.html#DATATYPE-INET) [8.9.2.`苹果酒`](datatype-net-types.html#DATATYPE-CIDR) [8.9.3.`网络`对比`苹果酒`](datatype-net-types.html#DATATYPE-INET-VS-CIDR) [8.9.4.`macaddr`](datatype-net-types.html#DATATYPE-MACADDR) [8.9.5.`macaddr8`](datatype-net-types.html#DATATYPE-MACADDR8) [8.10.位串类型](datatype-bit.html) [8.11.文本搜索类型](datatype-textsearch.html) [8.11.1.`向量`](datatype-textsearch.html#DATATYPE-TSVECTOR) [8.11.2.`查询`](datatype-textsearch.html#DATATYPE-TSQUERY) [8.12.UUID 类型](datatype-uuid.html) [8.13.XML 类型](datatype-xml.html) [8.13.1.创建 XML 值](datatype-xml.html#id-1.5.7.21.6) [8.13.2.编码处理](datatype-xml.html#id-1.5.7.21.7) [8.13.3.访问 XML 值](datatype-xml.html#id-1.5.7.21.8) [8.14.JSON 类型](datatype-json.html) [8.14.1.JSON 输入和输出语法](datatype-json.html#JSON-KEYS-ELEMENTS) [8.14.2.设计 JSON 文档](datatype-json.html#JSON-DOC-DESIGN) [8.14.3.`jsonb`收容与存在](datatype-json.html#JSON-CONTAINMENT) [8.14.4.`jsonb`索引](datatype-json.html#JSON-INDEXING) [8.14.5.`jsonb`下标](datatype-json.html#JSONB-SUBSCRIPTING) [8.14.6.变换](datatype-json.html#id-1.5.7.22.20) [8.14.7.jsonpath 类型](datatype-json.html#DATATYPE-JSONPATH) [8.15.数组](arrays.html) [8.15.1.数组类型声明](arrays.html#ARRAYS-DECLARATION) [8.15.2.数组值输入](arrays.html#ARRAYS-INPUT) [8.15.3.访问数组](arrays.html#ARRAYS-ACCESSING) [8.15.4.修改数组](arrays.html#ARRAYS-MODIFYING) [8.15.5.在数组中搜索](arrays.html#ARRAYS-SEARCHING) [8.15.6.数组输入和输出语法](arrays.html#ARRAYS-IO) [8.16.复合类型](rowtypes.html) [8.16.1.复合类型声明](rowtypes.html#ROWTYPES-DECLARING) [8.16.2.构建复合值](rowtypes.html#id-1.5.7.24.6) [8.16.3.访问复合类型](rowtypes.html#ROWTYPES-ACCESSING) [8.16.4.修改复合类型](rowtypes.html#id-1.5.7.24.8) [8.16.5.在查询中使用复合类型](rowtypes.html#ROWTYPES-USAGE) [8.16.6.复合类型输入和输出语法](rowtypes.html#ROWTYPES-IO-SYNTAX) [8.17.范围类型](rangetypes.html) [8.17.1.内置范围和多范围类型](rangetypes.html#RANGETYPES-BUILTIN) [8.17.2. 例子](rangetypes.html#RANGETYPES-EXAMPLES) [8.17.3. 包容与排斥界限](rangetypes.html#RANGETYPES-INCLUSIVITY) [8.17.4. 无限(无界)范围](rangetypes.html#RANGETYPES-INFINITE) [8.17.5. 量程输入/输出](rangetypes.html#RANGETYPES-IO) [8.17.6. 构造范围和多范围](rangetypes.html#RANGETYPES-CONSTRUCT) [8.17.7. 离散范围类型](rangetypes.html#RANGETYPES-DISCRETE) [8.17.8. 定义新的范围类型](rangetypes.html#RANGETYPES-DEFINING) [8.17.9. 索引](rangetypes.html#RANGETYPES-INDEXING) [8.17.10. 对射程的限制](rangetypes.html#RANGETYPES-CONSTRAINT) [8.18. 域类型](domains.html) [8.19. 对象标识符类型](datatype-oid.html) [8.20.`pg_lsn`类型](datatype-pg-lsn.html) [8.21. 伪类型](datatype-pseudo.html) [](<>)[](<>) PostgreSQL有一组丰富的本机数据类型可供用户使用。用户可以使用[创建类型](sql-createtype.html)命令 [表8.1](datatype.html#DATATYPE-TABLE)显示所有内置的通用数据类型。“别名”列中列出的大多数备选名称都是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独有的,比如几何路径,要么有几种可能的格式,比如日期和时间类型。一些输入和输出函数是不可逆的,即,与原始输入相比,输出函数的结果可能会失去准确性。