这篇列出PostgreSQL的多种数据类型,包括数字、字符、二进制、日期和布尔类型,并说明各类型的存储尺寸、描述及取值范围。 数字类型:涵盖smallint、integer、bigint、decimal、real等,存储尺寸从2字节到可变,范围各异。 字符类型:包括varchar(n)、char(n)和text,支持定长、变长及大文本存储。 日期类型:提供timestamp、date、time和interval,存储。
相关产品
TDSQL PostgreSQL版 产品页,含版本规格、价格与购买入口。
一、数字类型
| 名字 |
存储尺寸 |
描述 |
范围 |
| smallint |
2字节 |
小范围整数 |
-32768 to +32767 |
| integer |
4字节 |
整数的典型选择 |
-2147483648 to +2147483647 |
| bigint |
8字节 |
大范围整数 |
-9223372036854775808 to +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 |
二、字符类型
| 名字 |
描述 |
| character varying(*n*), varchar(*n*) |
有限制的变长 |
| character(*n*), char(*n*) |
定长,空格填充 |
| text |
1GB |
三、二进制数据类型
| 名字 |
存储尺寸 |
描述 |
| bytea |
1或4字节外加真正的二进制串 |
变长二进制串 |
四、日期类型
| 名字 |
存储尺寸 |
描述 |
最小值 |
最大值 |
解析度 |
| timestamp [ (*p*) ] [ without time zone ] |
8字节 |
包括日期和时间(无时区) |
4713 BC |
294276 AD |
1微秒 / 14位 |
| timestamp [ (*p*) ] [ with time zone ] |
8字节 |
包括日期和时间(有时区) |
4713 BC |
294276 AD |
1微秒 / 14位 |
| date |
4字节 |
日期(没有一天中的时间) |
4713 BC |
5874897 AD |
1日 |
| time [ (*p*) ] [ without time zone ] |
8字节 |
一天中的时间(无时区) |
0:00:00 |
24:00:00 |
1微秒 / 14位 |
| time [ (*p*) ] [ with time zone ] |
12字节 |
仅是一天中的时间,带有时区 |
00:00:00+1459 |
24:00:00-1459 |
1微秒 / 14位 |
| interval [ *fields* ] [ (*p*) ] |
16字节 |
时间间隔 |
-178000000年 |
178000000年 |
1微秒 / 14位 |
五、布尔类型
| 名字 |
存储字节 |
描述 |
| boolean |
1字节 |
状态为真或假 |
六、更多数据类型介绍
请参见 数据类型说明。