版本:
目录导航
数据类型

章 8. 数据类型

PostgreSQL有着丰富的内置数据类型可用。 用户还可以使用CREATE TYPE命令增加新的数据类型。

表 8-1显示了所有内置的泛用数据类型。 在"别名"列里列出的大多数可选名字都是因历史原因在PostgreSQL 内部使用。另外,还有一些内部使用的或者废弃的类型也是可用的, 但没有在这里列出。

表 8-1. 数据类型

名字别名描述
bigintint8有符号8字节整数
bigserialserial8自增8字节整数
bit [ (n) ] 定长位串
bit varying [ (n) ]varbit可变长位串
booleanbool逻辑布尔值(真/假)
box 平面上的矩形
bytea 二进制数据("字节数组")
character varying [ (n) ]varchar [ (n) ]可变长字符串
character [ (n) ]char [ (n) ]定长字符串
cidr IPv4 或 IPv6 网络地址
circle 平面上的圆
date 日历日期(年, 月, 日)
double precisionfloat8双精度浮点数(8字节)
inet IPv4 或 IPv6 主机地址
integerint, int4有符号 4 字节整数
interval [ fields ] [ (p) ] 时间间隔
line 平面上的无限长直线
lseg 平面上的线段
macaddr MAC (Media Access Control)地址
money 货币金额
numeric [ (p, s) ]decimal [ (p, s) ]可选精度的准确数值数据类型
path 平面上的几何路径
point 平面上的点
polygon 平面上的封闭几何路径
realfloat4单精度浮点数(4 字节)
smallintint2有符号 2 字节整数
smallserialserial2自增 2 字节整数
serialserial4自增 4 字节整数
text 可变长字符串
time [ (p) ] [ without time zone ] 一天中的时刻(无时区)
time [ (p) ] with time zonetimetz一天中的时刻,含时区
timestamp [ (p) ] [ without time zone ] 日期与时刻(无时区)
timestamp [ (p) ] with time zonetimestamptz日期与时刻,含时区
tsquery 文本检索查询
tsvector 文本检索文档
txid_snapshot 用户级别的事务ID快照
uuid 通用唯一标识符
xml XML 数据
json JSON 数据

兼容性: 下列类型(或那样的拼写)是SQL规范声明的: bigint, bit, bit varying, boolean, char, character varying, character, varchar, date, double precision, integer, interval, numeric, decimal, real, smallint, time (有时区或无时区), timestamp (有时区或无时区), xml

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

<
/BODY >