9.PostgreSQL常用数据类型一览表

1.整数

类型存储大小描述范围
smallint2 字节有符号小范围整数-32768 至 +32767
integer4 字节有符号整数-2147483648 至 +2147483647
bigint8 字节有符号大范围整数-9223372036854775808 至 +9223372036854775807
smallserial2 字节无符号小自增整数1 至 32767
serial4 字节无符号自增整数1 至 2147483647
bigserial8 字节无符号大自增整数1 至 9223372036854775807

2.任意精度数(精确值)

数字 28.5181 的精度为 6,小数位数为 4。整数可以被认为是小数位数为零。

//别名numeric
decimal(精度, 小数位数)
类型存储大小描述范围
decimal [ (ps) ]可变的用户指定的精度,精确小数点前最多 131072 十进制位;小数点后最多 16383 十进制位

3.浮点数(近似值)

浮点类型遵循IEEE 754 二进制浮点算术标准

类型存储大小描述范围
real4 字节可变精度,不精确6 位十进制数字精度
double precision8 字节可变精度,不精确15 位十进制数字精度

4.货币类型

尽量避开使用money类型,而使用decimal替代。

类型存储大小描述范围
money8 字节货币金额-92233720368547758.08 至 +92233720368547758.07

5.字符类型

n代表字符。

类型描述
character varying(n)varchar(n)可变长度字符串,不可超过n
character(n)char(n)固定长度字符串,达不到n空白填充
text可变长度无限字符串

6.二进制数据类型

类型存储大小描述
bytea1 或 4 个字节加上实际的二进制字符串可变长度二进制串

7.日期/时间类型

类型存储大小描述低值高值解析度
timestamp [ (p) ] [ without time zone ]8 字节日期和时间(无时区)公元前 4713 年公元 294276 年1 微秒
timestamp [ (p) ] with time zone8 字节日期和时间(带时区)公元前 4713 年公元 294276 年1 微秒
date4字节日期(没有时间)公元前 4713 年公元 5874897 年1天
time [ (p) ] [ without time zone ]8 字节时间(无日期无时区)00:00:0024:00:001 微秒
time [ (p) ] with time zone12 字节时间(无日期带时区)00:00:00+155924:00:00-15591 微秒
interval [ fields ] [ (p) ]16 字节时间间隔-1.78亿年1.78亿年1 微秒

8.布尔类型

类型存储大小描述
boolean1 字节真或假的状态

9.几何类型

类型存储大小描述表示
point16 字节平面上的点(x, y)
line32 字节无限线{A,B,C}
lseg32 字节有限线段((x1,y1),(x2,y2))
box32 字节长方形盒子((x1,y1),(x2,y2))
path16+16n 字节闭合路径(类似于多边形)((x1,y1),…)
path16+16n 字节打开路径[(x1,y1),…]
polygon40+16n 字节多边形(类似于封闭路径)((x1,y1),…)
circle24 字节圆圈<(x,y),r>(中心点和半径)

10.网络地址类型

类型存储大小描述
cidr7 或 19 字节IPv4 和 IPv6 网络地址
inet7 或 19 字节IPv4 和 IPv6 主机和网络地址
macaddr6 字节MAC地址
macaddr88 字节MAC 地址(EUI-64 格式)

11.位串类型

类型别名描述
bit [ (n) ] 无固定长度位串
bit varying [ (n) ]varbit [ (n) ]可变长度位串

12.其他类型

类型描述
json文本 JSON 数据
jsonb二进制 JSON 数据
xmlXML 数据
pg_lsnPostgreSQL日志序列号
pg_snapshot用户级事务 ID 快照
tsquery文本搜索查询
tsvector文本搜索文档
uuid通用唯一标识符

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/basic/sql/9301.html

发表评论

登录后才能评论