欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Postgresql9.6--数据类型

程序员文章站 2022-04-17 09:00:51
数字类型 名字 存储尺寸 描述 范围 smallint 2字节 小范围整数 -32...

数字类型

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

二进制数据类型