postgres数据类型

文章详细介绍了PostgreSQL数据库中各种数据类型,包括整数(如smallint、integer、bigint)、浮点数(如real、doubleprecision)、字符类型(如char、varchar、text)、日期时间类型(如timestamp、time、date)、布尔类型、几何类型、网络地址类型等,以及它们的存储尺寸和描述范围。
摘要由CSDN通过智能技术生成

数据类型

名字别名描述
bigintint8有符号的8字节整数
bigserialserial8自动增长的8字节整数
bit [ (*n*) ]定长位串
bit varying [ (*n*) ]varbit [ (*n*) ]变长位串
booleanbool逻辑布尔值(真/假)
box平面上的普通方框
bytea二进制数据(“字节数组”)
character [ (*n*) ]char [ (*n*) ]定长字符串
character varying [ (*n*) ]varchar [ (*n*) ]变长字符串
cidrIPv4或IPv6网络地址
circle平面上的圆
date日历日期(年、月、日)
double precisionfloat8双精度浮点数(8字节)
inetIPv4或IPv6主机地址
integerint, int4有符号4字节整数
interval [ *fields* ] [ (*p*) ]时间段
json文本 JSON 数据
jsonb二进制 JSON 数据,已分解
line平面上的无限长的线
lseg平面上的线段
macaddrMAC(Media Access Control)地址
macaddr8MAC(Media Access Control)地址(EUI-64格式)
money货币数量
numeric [ (*p*, *s*) ]decimal [ (*p*, *s*) ]可选择精度的精确数字
path平面上的几何路径
pg_lsnPostgreSQL日志序列号
point平面上的几何点
polygon平面上的封闭几何路径
realfloat4单精度浮点数(4字节)
smallintint2有符号2字节整数
smallserialserial2自动增长的2字节整数
serialserial4自动增长的4字节整数
text变长字符串
time [ (*p*) ] [ without time zone ]一天中的时间(无时区)
time [ (*p*) ] with time zonetimetz一天中的时间,包括时区
timestamp [ (*p*) ] [ without time zone ]日期和时间(无时区)
timestamp [ (*p*) ] with time zonetimestamptz日期和时间,包括时区
tsquery文本搜索查询
tsvector文本搜索文档
txid_snapshot用户级别事务ID快照
uuid通用唯一标识码
xmlXML数据

SQL指定的类型:bigintbitbit varyingbooleancharcharacter varyingcharactervarchardatedouble precisionintegerintervalnumericdecimalrealsmallinttime(有时区或无时区)、timestamp(有时区或无时区)、xml

每种数据类型都有一个由其输入和输出函数决定的外部表现形式。许多内建的类型有明显的格式。不过,许多类型要么是PostgreSQL所特有的(例如几何路径),要么可能是有几种不同的格式(例如日期和时间类型)。 有些输入和输出函数是不可逆的,即输出函数的结果和原始输入比较时可能丢失精度。

数字类型

名字存储尺寸描述范围
smallint2字节小范围整数-32768 to +32767
integer4字节整数的典型选择-2147483648 to +2147483647
bigint8字节大范围整数-9223372036854775808 to +9223372036854775807
decimal可变用户指定精度,精确最高小数点前131072位,以及小数点后16383位
numeric可变用户指定精度,精确最高小数点前131072位,以及小数点后16383位
real4字节可变精度,不精确6位十进制精度
double precision8字节可变精度,不精确15位十进制精度
smallserial2字节自动增加的小整数1到32767
serial4字节自动增加的整数1到2147483647
bigserial8字节自动增长的大整数1到9223372036854775807

货币类型

名字存储尺寸描述范围
money8 bytes货币额-92233720368547758.08到+92233720368547758.07

字符类型

名字描述
character varying(*n*), varchar(*n*)有限制的变长
character(*n*), char(*n*)定长,空格填充
text无限变长

二进制类型

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

日期时间类型

名字存储尺寸描述最小值最大值解析度
timestamp [ (*p*) ] [ without time zone ]8字节包括日期和时间(无时区)4713 BC294276 AD1微秒
timestamp [ (*p*) ] with time zone8字节包括日期和时间,有时区4713 BC294276 AD1微秒
date4字节日期(没有一天中的时间)4713 BC5874897 AD1日
time [ (*p*) ] [ without time zone ]8字节一天中的时间(无日期)00:00:0024:00:001微秒
time [ (*p*) ] with time zone12字节仅仅是一天中的时间(没有日期),带有时区00:00:00+145924:00:00-14591微秒
interval [ *fields* ] [ (*p*) ]16字节时间间隔-178000000年178000000年1微秒

布尔类型

名字存储字节描述
boolean1字节状态为真或假

几何类型

名字存储尺寸表示描述
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>(中心点和半径)

网络地址类型

名字存储尺寸描述
cidr7或19字节IPv4和IPv6网络
inet7或19字节IPv4和IPv6主机以及网络
macaddr6字节MAC地址
macaddr88 bytesMAC地址(EUI-64格式)

postgres数据结构与java数据结构对比

编号数据库类型JAVA类型JDBC索引
1varcharjava.lang.String12
2charjava.lang.String1
2textjava.lang.String12
3int2java.lang.Integer5
4int4java.lang.Integer4
5int8java.lang.Long-5
6numericjava.math.BigDecimal2
7float4java.lang.Float7
8float8java.lang.Double8
9moneyjava.lang.Double8
10bitjava.lang.Boolean-7
11booljava.lang.Boolean-7
12timejava.sql.Time92
13timestampjava.sql.Timestamp93
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值