数据类型#

PostgreSQL有着丰富的本地数据类型可用。用户可以使用CREATE TYPE命令为 PostgreSQL增加新的数据类型。

显示了所有内建的普通数据类型。大部分在“别名”列里列出的可选名字都是因历史原因 被PostgreSQL在内部使用的名字。另外,还有一些内部使用的或者废弃的类型也可以用,但没有在这里列出。

表 数据类型

名字

别名

描述

bigint

int8

有符号的8字节整数

bigserial

serial8

自动增长的8字节整数

bit [ (n) ]

定长位串

` bit varying [ (n`) ]

varbit [ (n) ]

变长位串

boolean

bool

逻辑布尔值(真/假)

box

平面上的普通方框

bytea

二进 制数据(“字节数组”)

character [ (n) ]

char [ (n) ]

定长字符串

chara cter varying [ (n) ]

varchar [ (n) ]

变长字符串

cidr

IPv4或IPv6网络地址

circle

平面上的圆

date

日 历日期(年、月、日)

double precision

float8

双 精度浮点数(8字节)

inet

IPv4或IPv6主机地址

integer

int, int4

有符号4字节整数

` interval [ fields` ] [ (``p``) ]

时间段

json

文本 JSON 数据

jsonb

二进制 JSON 数据,已分解

line

平面上的无限长的线

lseg

平面上的线段

macaddr

MAC(Media Access Control)地址

macaddr8

MAC(Media Access Control )地址(EUI-64格式)

money

货币数量

numeric [ (p, ``s``) ]

decimal [ (p, ``s``) ]

可选择精度的精确数字

path

平面上的几何路径

pg_lsn

PostgreSQL日志序列号

point

平面上的几何点

polygon

平面上的封闭几何路径

real

float4

单 精度浮点数(4字节)

smallint

int2

有符号2字节整数

smallserial

serial2

自动增长的2字节整数

serial

serial4

自动增长的4字节整数

text

变长字符串

time [ (p) ] [ without time zone ]

一 天中的时间(无时区)

time [ (p) ] with time zone

timetz

一 天中的时间,包括时区

timestamp [ (p) ] [ without time zone ]

日期和时间(无时区)

timestamp [ (p) ] with time zone

timestamptz

日期和时间,包括时区

tsquery

文本搜索查询

tsvector

文本搜索文档

txid_snapshot

用户级别事务ID快照

uuid

通用唯一标识码

xml

XML数据

备注

兼容性

下列类型(或者及其拼写)是SQL指定的:bigintbitbit varyingbooleancharcharacter varyingcharactervarchardatedouble precisionintegerintervalnumericdecimalrealsmallinttime(有时区或无时区)、timestamp(有时区或无时区)、xml

每种数据类型都有一个由其输入和输出函数决定的外部表现形式。许多内建的类型有明显的格式。不过,许多类型要么是PostgreSQL所特有的(例如几何路径),要么可能是有几种不同的格式(例如日期和时间类型)。 有些输入和输出函数是不可逆的,即输出函数的结果和原始输入比较时可能丢失精度。