数据类型
数据类型#
PostgreSQL有着丰富的本地数据类型可用。用户可以使用CREATE TYPE命令为 PostgreSQL增加新的数据类型。
表显示了所有内建的普通数据类型。大部分在“别名”列里列出的可选名字都是因历史原因 被PostgreSQL在内部使用的名字。另外,还有一些内部使用的或者废弃的类型也可以用,但没有在这里列出。
表 数据类型
| 名字 | 别名 | 描述 | 
|---|---|---|
| 
 | 
 | 有符号的8字节整数 | 
| 
 | 
 | 自动增长的8字节整数 | 
| 
 | 定长位串 | |
| ` bit varying [ (n`) ] | 
 | 变长位串 | 
| 
 | 
 | 逻辑布尔值(真/假) | 
| 
 | 平面上的普通方框 | |
| 
 | 二进 制数据(“字节数组”) | |
| 
 | 
 | 定长字符串 | 
| 
 | 
 | 变长字符串 | 
| 
 | IPv4或IPv6网络地址 | |
| 
 | 平面上的圆 | |
| 
 | 日 历日期(年、月、日) | |
| 
 | 
 | 双 精度浮点数(8字节) | 
| 
 | IPv4或IPv6主机地址 | |
| 
 | 
 | 有符号4字节整数 | 
| ` interval [ fields` ] [ (``p``) ] | 时间段 | |
| 
 | 文本 JSON 数据 | |
| 
 | 二进制 JSON 数据,已分解 | |
| 
 | 平面上的无限长的线 | |
| 
 | 平面上的线段 | |
| 
 | MAC(Media Access Control)地址 | |
| 
 | MAC(Media Access Control )地址(EUI-64格式) | |
| 
 | 货币数量 | |
| 
 | 
 | 可选择精度的精确数字 | 
| 
 | 平面上的几何路径 | |
| 
 | PostgreSQL日志序列号 | |
| 
 | 平面上的几何点 | |
| 
 | 平面上的封闭几何路径 | |
| 
 | 
 | 单 精度浮点数(4字节) | 
| 
 | 
 | 有符号2字节整数 | 
| 
 | 
 | 自动增长的2字节整数 | 
| 
 | 
 | 自动增长的4字节整数 | 
| 
 | 变长字符串 | |
| 
 | 一 天中的时间(无时区) | |
| 
 | 
 | 一 天中的时间,包括时区 | 
| 
 | 日期和时间(无时区) | |
| 
 | 
 | 日期和时间,包括时区 | 
| 
 | 文本搜索查询 | |
| 
 | 文本搜索文档 | |
| 
 | 用户级别事务ID快照 | |
| 
 | 通用唯一标识码 | |
| 
 | 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所特有的(例如几何路径),要么可能是有几种不同的格式(例如日期和时间类型)。 有些输入和输出函数是不可逆的,即输出函数的结果和原始输入比较时可能丢失精度。