AnalyticDB PostgreSQL支持丰富的数据类型,您还可以使用CREATE TYPE命令定义新的数据类型。

AnalyticDB PostgreSQL内建的数据类型

下表显示了AnalyticDB PostgreSQL内建的数据类型。

名称 别名 存储大小 范围 描述
bigint int8 8 bytes -922337203​6854775808 到922337203​6854775807 大范围整数
bigserial serial8 8 bytes 1 到 922337203​6854775807 大的自动增量整数
bit [ (n) ] n bits bit 常量 固定长度位串
bit varying [ (n) ] varbit bit实际长度 bit 常量 可变长度位串
boolean bool 1 byte true/false, t/f, yes/no, y/n, 1/0 布尔值(true / false)
box 32 bytes ((x1,y1),(x2,y2)) 平面中的矩形框,不允许在分配键列中。
bytea 1 byte + binary string 1或4字节外加真正的二进制串 可变长度二进制串
character [ (n) ] char [ (n) ] 1 byte + n n长度字符串 定长的空白填充。
character varying [ (n) ] varchar [ (n) ] 1 byte + string size n长度字符串 受限的可变长度。
cidr 12 or 24 bytes IPv4和IPv6网络
circle 24 bytes <(x,y),r> (中心点和半径) 平面的圆,不允许在分配键列中。
date 4 bytes 4713 BC - 294,277 AD 日历日期(年,月,日)
decimal [ (p, s) ] numeric [ (p, s) ] variable 无限制 用户指定的精度,精确
double precision float8 8 bytes 15位数字精度 可变精度,不精确
float
inet 12 or 24 bytes IPv4和IPv6主机和网络
integer int, int4 4 bytes -2.1E+09到 +2147483647 通常选择整数类型
interval [ (p) ] 12 bytes -178000000 years - 178000000 years 时间跨度
json 1 byte + json size Json字符串 不受限制的可变长度
lseg 32 bytes ((x1,y1),(x2,y2)) 平面中的线段,不允许在分配键列中。
macaddr 6 bytes MAC 地址
money 8 bytes -92233720368547758.08 到 +92233720368547758.07 货币金额
path 16+16n bytes [(x1,y1),...] 平面上的几何路径,不允许在分配键列中。
point 16 bytes (x,y) 平面上的几何点,不允许在分配键列中。
polygon 40+16n bytes ((x1,y1),...) 在平面中封闭的几何路径,不允许在分配键列中。
real float4 4 bytes 6位数字精度 可变精度,不准确
serial serial4 4 bytes 1 到 2147483647 自动增量整数
smallint int2 2 bytes -32768 到 +32767 小范围整数
text 1 byte + string size 变长字符串 变量无限长
time [ (p) ] [ without time zone ] 8 bytes 00:00:00[.000000] - 24:00:00[.000000] 时间只有一天
time [ (p) ] with time zone timetz 12 bytes 00:00:00+1359 - 24:00:00-1359 时间只有一天, 带时区
timestamp [ (p) ] [ without time zone ] 8 bytes 4713 BC - 294,277 AD 日期和时间
timestamp [ (p) ] with time zone timestamptz 8 bytes 4713 BC - 294,277 AD 日期和时间,带时区
xml 1 byte + xml size 任意长度xml 变量无限长
uuid 32 bytes

6.0版本原生支持uuid数据类型;4.3版本需要先创建扩展插件 ,请参见使用UUID-OSSP

更多信息

详情请参考Pivotal Greenplum官方文档