Postgresql数据类型

Posted Leah

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Postgresql数据类型相关的知识,希望对你有一定的参考价值。

一. 数值类型

类型 存储大小 描述 范围
smallint 2字节 小范围整数 -32768 ~ +32767
integer 4字节 整数的典型存储 -2147483648 ~ +2147483647
bigint 8字节 大范围整数 -9223372036854775808 ~ 9223372036854775807
decimal 可变 用户指定的精度,精确 小数点前最多为131072个数字; 小数点后最多为16383个数字。
numeric 可变 用户指定的精度,精确 小数点前最多为131072个数字; 小数点后最多为16383个数字。
real 4字节 可变精度,不精确 6位十进制精度
double precision 8字节 可变精度,不精确 15位十进制精度
smallserial 2字节 自动增加的小整数 1~32767
serial 4字节 自动增加的整数 1~2147483647
bigserial 8字节 自动增加的大整数 1~9223372036854775807

 

 

 

 

 

 

 

 

 

二. 字符串数据类型

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

 

 

 

 

三. 日期/时间数据类型

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

 

 

 

 

 

 

四. 布尔类型

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

 

 

 

五. 几何类型

类型 存储 表示 描述
point 16字节 平面上的点 (x,y)
line 32字节       
无限长的线 {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)

 

 

 

 

 

 

 

六. 货币类型

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

 



七. 二进制类型

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

 

 

八. 其他类型

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

 

以上是关于Postgresql数据类型的主要内容,如果未能解决你的问题,请参考以下文章

收到 org.postgresql.util.PGobject 类型的对象

PostgreSQL 中 JSON 数据类型的大小限制

如何在 PostgreSQL 9.5 中为“int”数据类型设置大小限制

如何在 PostgreSQL 9.5 中为“int”数据类型设置大小限制

golang自己定义数据类型查询与插入postgresql中point数据

在 PostgreSQL 中为临时变量分配特定的数据类型