第 8 章数据类型

目录

PostgreSQL 具有丰富的本机数据类型供用户使用。用户可以使用CREATE TYPE命令将新类型添加到 PostgreSQL。

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

表 8.1. 数据类型

NameAliasesDescription
bigintint8有符号八字节整数
bigserialserial8自动递增八字节整数
bit [ (n) ] 定长位串
bit varying [ (n) ]varbit [ (n) ]可变长度位串
booleanbool逻辑布尔值(对/错)
box 在平面上的矩形框
bytea 二进制数据(“字节数组”)
character [ (n) ]char [ (n) ]定长字符串
character varying [ (n) ]varchar [ (n) ]可变长度字符串
cidr IPv4 或 IPv6 网络地址
circle 在飞机上绕圈
date calendar 日期(年,月,日)
double precisionfloat8双精度浮点数(8 个字节)
inet IPv4 或 IPv6 主机地址
integerint , int4有符号四字节整数
interval [ fields ] [ (p) ] time span
json 文本 JSON 数据
jsonb 二进制 JSON 数据,已分解
line 平面上的无限线
lseg 平面上的线段
macaddr MAC(媒体访问控制)地址
macaddr8 MAC(媒体访问控制)地址(EUI-64 格式)
money currency amount
numeric [ (p, s) ]decimal [ (p, s) ]可选精度的精确数值
path 平面上的几何路径
pg_lsn PostgreSQL 日志序号
point 平面上的几何点
polygon 平面上的封闭几何路径
realfloat4单精度浮点数(4 个字节)
smallintint2有符号的两字节整数
smallserialserial2自动递增两字节整数
serialserial4自动递增四字节整数
text 可变长度字符串
time [ (p) ] [ without time zone ] 一天中的时间(无时区)
time [ (p) ] with time zonetimetz一天中的时间,包括时区
timestamp [ (p) ] [ without time zone ] 日期和时间(无时区)
timestamp [ (p) ] with time zonetimestamptz日期和时间,包括时区
tsquery Literals 搜寻查询
tsvector Literals 搜寻文件
txid_snapshot 用户级 TransactionID 快照
uuid 通用唯一标识符
xml XML data

Compatibility

SQL 指定以下类型(或其拼写):bigintbitbit varyingbooleancharcharacter varyingcharactervarchardatedouble precisionintegerintervalnumericdecimalrealsmallint或不带_17 时区),timestamp(有或没有时区),xml

每种数据类型都有一个由其 Importing 和输出功能确定的外部表示形式。许多内置类型具有明显的外部格式。但是,有几种类型对于 PostgreSQL 是唯一的(例如几何路径),或者具有几种可能的格式(例如日期和时间类型)。一些 Importing 和输出函数不可逆,即,与原始 Importing 相比,输出函数的结果可能会失去准确性。