Table of Contents
PostgreSQL 提供了丰富的原生数据类型。 用户可以使用CREATE TYPE命令向 PostgreSQL添加新类型。
Table 8.1展示了所有内置的通用数据类型。 “别名”列中列出的多数可选名称,都是 PostgreSQL出于历史原因在内部使用的名称。 此外,还有一些内部使用或已废弃的类型也可用,但未在此列出。
Table 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 |
float, float8 |
双精度浮点数(8 字节) |
inet |
IPv4或IPv6主机地址 | |
integer |
int, int4 |
有符号4字节整数 |
interval [ |
时间段 | |
json |
文本 JSON 数据 | |
jsonb |
二进制 JSON 数据,已分解 | |
line |
平面上的无限长的线 | |
lseg |
平面上的线段 | |
macaddr |
MAC(Media Access Control)地址 | |
macaddr8 |
MAC(Media Access Control)地址(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所特有的,例如几何路径; 还有一些类型可能存在多种可能的格式,例如日期/时间类型。 有些输入和输出函数并不可逆,也就是说,输出函数的结果与原始 输入相比可能会丢失精度。
如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。