Postgresql9.6--数据类型

注:红色的为常用类型

数字类型

名字 存储尺寸 描述 范围
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

1.常用的类型是integer,因为它提供了在范围、存储空间和性能间的最佳平衡。一般只有在磁盘空间紧张/范围不够的时候才考虑使用 smallint/bigint类型。

2.类型decimal和numeric是等效的。两种类型都是sql标准的一部分。

NUMERIC(precision,scale)

一个numeric的比例scale是到小数部分的位数,numeric的精度precision是整个数字里全部位的数目。

3.数据类型real和double precision是不准确的、变精度的数字类型。

字符类型

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

1. 在Postgresql里。character(n)通常是这三种类型之中最慢的一个,因为它需要额外的存储开销。在大多数情况下,应该使用text或者character varying
2. 字符类型允许存储的最长字串大概是 1 GB。 (允许在数据类型声明中出现的的 n 的最大值比这还小)
3. 如果你想存储没有特定上限的长字串,那么使用 text 或者没有长度声明词的 character varying

二进制数据类型

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...