目录
PostgreSQL 为用户提供了一组丰富的原生数据类型。用户可以使用 CREATE TYPE 命令向 PostgreSQL 添加新的类型。
表 8.1 列出了所有内置的通用数据类型。在 “别名” 列中列出的大部分替代名称是 PostgreSQL 由于历史原因在内部使用的名称。此外,还提供了一些内部使用或已弃用的类型,但此处未列出。
表 8.1. 数据类型
名称 | 别名 | 描述 |
---|---|---|
bigint |
int8 |
带符号的 8 字节整数 |
bigserial |
serial8 |
自增的 8 字节整数 |
bit [ ( |
定长位串 | |
bit varying [ ( |
varbit [ ( |
变长位串 |
boolean |
bool |
逻辑布尔值(真/假) |
box |
平面上的矩形框 | |
bytea |
二进制数据(“字节数组”) | |
character [ ( |
char [ ( |
定长字符串 |
character varying [ ( |
varchar [ ( |
变长字符串 |
cidr |
IPv4 或 IPv6 网络地址 | |
circle |
平面上的圆 | |
date |
日历日期(年、月、日) | |
double precision |
float8 |
双精度浮点数(8 字节) |
inet |
IPv4 或 IPv6 主机地址 | |
integer |
int , int4 |
带符号的 4 字节整数 |
interval [ |
时间跨度 | |
json |
文本 JSON 数据 | |
jsonb |
二进制 JSON 数据,已分解 | |
line |
平面上的无限直线 | |
lseg |
平面上的线段 | |
macaddr |
MAC(媒体访问控制)地址 | |
macaddr8 |
MAC(媒体访问控制)地址(EUI-64 格式) | |
money |
货币金额 | |
numeric [ ( |
decimal [ ( |
具有可选精度的精确数值 |
path |
平面上的几何路径 | |
pg_lsn |
PostgreSQL 日志序列号 | |
pg_snapshot |
用户级事务 ID 快照 | |
point |
平面上的几何点 | |
polygon |
平面上的闭合几何路径 | |
real |
float4 |
单精度浮点数(4 字节) |
smallint |
int2 |
带符号的 2 字节整数 |
smallserial |
serial2 |
自增的 2 字节整数 |
serial |
serial4 |
自增的 4 字节整数 |
text |
变长字符串 | |
time [ ( |
一天中的时间(无时区) | |
time [ ( |
timetz |
一天中的时间,包括时区 |
timestamp [ ( |
日期和时间(无时区) | |
timestamp [ ( |
timestamptz |
日期和时间,包括时区 |
tsquery |
文本搜索查询 | |
tsvector |
文本搜索文档 | |
txid_snapshot |
用户级事务 ID 快照(已弃用;请参阅 pg_snapshot ) |
|
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 特有的,例如几何路径,或者有几种可能的格式,例如日期和时间类型。一些输入和输出函数不是可逆的,即,输出函数的结果与原始输入相比可能会损失精度。
如果您在文档中发现任何不正确、与您使用特定功能的体验不符或需要进一步澄清的内容,请使用此表单报告文档问题。