Postgresql数据类型

一. 数值类型

类型存储大小描述范围
smallint2字节小范围整数-32768 ~ +32767
integer4字节整数的典型存储-2147483648 ~ +2147483647
bigint8字节大范围整数-9223372036854775808 ~ 9223372036854775807
decimal可变用户指定的精度,精确小数点前最多为131072个数字; 小数点后最多为16383个数字。
numeric可变用户指定的精度,精确小数点前最多为131072个数字; 小数点后最多为16383个数字。
real4字节可变精度,不精确6位十进制精度
double precision8字节可变精度,不精确15位十进制精度
smallserial2字节自动增加的小整数1~32767
serial4字节自动增加的整数1~2147483647
bigserial8字节自动增加的大整数1~9223372036854775807

二. 字符串数据类型

类型描述
char(size)/character(size)size是要存储的字符数。固定长度字符串,右边的空格填充到相等大小的字符。
varchar(size)/character varying(size)size是要存储的字符数。 可变长度字符串。
text可变长度字符串。

三. 日期/时间数据类型

类型存储大小描述最小值最大值解析度
timestamp [ (p) ] [不带时区 ]8字节日期和时间(无时区)4713 bc294276 ad1微秒/14位数
timestamp [ (p) ]带时区8字节包括日期和时间,带时区4713 bc294276 ad 
date4字节日期(没有时间)4713 bc5874897 ad1微秒/14位数
time [ (p) ] [ 不带时区 ]8字节时间(无日期)00:00:00 24:00:00 1微秒/14位数
time [ (p) ] 带时区12字节仅限时间,带时区00:00:00+1459 24:00:00-14591微秒/14位数
interval [ fields ] [ (p) ]12字节时间间隔-178000000年178000000年1微秒/14位数

四. 布尔类型

类型字节描述
boolean1字节状态为真或假

五. 几何类型

类型存储表示描述
point16字节平面上的点(x,y)
line32字节       
无限长的线{A,B,C}
lseg      
32字节  
有限线段((x1,y1),(x2,y2))
box             
32字节矩形框 ((x1,y1),(x2,y2))
path        
16+16n字节 封闭路径(类似于多边形)    ((x1,y1),…)
polygon          
 40+16n字节 
 多边形(类似于封闭路径)((x1,y1),…)
circle             
24字节 <(x,y),r> (center point and radius)

六. 货币类型

类型存储描述范围
money8 bytes货币额-92233720368547758.08到+92233720368547758.07



七. 二进制类型

类型存储描述
bytea1或4字节外加真正的二进制串变长二进制串

八. 其他类型

类型描述
json文本json数据
jsonb二进制json数据,已分解
interval [ fields ] [ §时间段
tsquery文本搜索查询
tsvector文本搜索文档
uuid通用唯一标识码
xmlxml数据
integer[]数组