第 8 章数据类型
目录
PostgreSQL 具有丰富的本机数据类型供用户使用。用户可以使用CREATE TYPE命令将新类型添加到 PostgreSQL。
Table 8.1显示所有内置的通用数据类型。出于历史原因,“别名”列中列出的大多数替代名称是 PostgreSQL 内部使用的名称。此外,还提供了一些内部使用或不推荐使用的类型,但此处未列出。
表 8.1. 数据类型
Name | Aliases | Description |
---|---|---|
bigint | int8 | 有符号八字节整数 |
bigserial | serial8 | 自动递增八字节整数 |
bit [ (n) ] | 定长位串 | |
bit varying [ (n) ] | varbit [ (n) ] | 可变长度位串 |
boolean | bool | 逻辑布尔值(对/错) |
box | 在平面上的矩形框 | |
bytea | 二进制数据(“字节数组”) | |
character [ (n) ] | char [ (n) ] | 定长字符串 |
character varying [ (n) ] | varchar [ (n) ] | 可变长度字符串 |
cidr | IPv4 或 IPv6 网络地址 | |
circle | 在飞机上绕圈 | |
date | calendar 日期(年,月,日) | |
double precision | float8 | 双精度浮点数(8 个字节) |
inet | IPv4 或 IPv6 主机地址 | |
integer | int , 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 | 平面上的封闭几何路径 | |
real | float4 | 单精度浮点数(4 个字节) |
smallint | int2 | 有符号的两字节整数 |
smallserial | serial2 | 自动递增两字节整数 |
serial | serial4 | 自动递增四字节整数 |
text | 可变长度字符串 | |
time [ (p) ] [ without time zone ] | 一天中的时间(无时区) | |
time [ (p) ] with time zone | timetz | 一天中的时间,包括时区 |
timestamp [ (p) ] [ without time zone ] | 日期和时间(无时区) | |
timestamp [ (p) ] with time zone | timestamptz | 日期和时间,包括时区 |
tsquery | Literals 搜寻查询 | |
tsvector | Literals 搜寻文件 | |
txid_snapshot | 用户级 TransactionID 快照 | |
uuid | 通用唯一标识符 | |
xml | XML data |
Compatibility
SQL 指定以下类型(或其拼写):bigint
,bit
,bit varying
,boolean
,char
,character varying
,character
,varchar
,date
,double precision
,integer
,interval
,numeric
,decimal
,real
,smallint
或不带_17 时区),timestamp
(有或没有时区),xml
。
每种数据类型都有一个由其 Importing 和输出功能确定的外部表示形式。许多内置类型具有明显的外部格式。但是,有几种类型对于 PostgreSQL 是唯一的(例如几何路径),或者具有几种可能的格式(例如日期和时间类型)。一些 Importing 和输出函数不可逆,即,与原始 Importing 相比,输出函数的结果可能会失去准确性。