PostgreSQL数据类型

本文概述

  • 数值数据类型
  • 字符串数据类型
  • 日期/时间数据类型
  • 其他一些数据类型
  • 布尔型
  • 货币类型
  • 几何类型
【PostgreSQL数据类型】数据类型指定要在表字段中存储的数据类型。创建表时, 对于每一列, 你必须使用数据类型。
PotgreSQL中主要有三种类型的数据类型。除此之外, 用户还可以使用CREATE TYPE SQL命令创建自己的自定义数据类型。
以下是PostgreSQL中主要的三种数据类型:
  • 数值数据类型
  • 字符串数据类型
  • 日期/时间数据类型
数值数据类型数字数据类型用于将数字数据指定到表中。
name description 储存空间 range
smallint 存储整数, 范围较小。 2字节 -32768至+32767
integer 存储整数。要存储典型整数时, 请使用此值。 4 bytes -2147483648至+2147483647
bigint 存储整数, 范围大。 8 bytes -9223372036854775808至9223372036854775807
decimal 用户指定的精确度 variable 小数点前最多131072位数字;小数点后最多16383位数字。
numeric 用户指定的精确度 variable 小数点前最多131072位数字;小数点后最多16383位数字。
real 精度不精确 4字节 6位十进制数字精度。
double precision 精度不精确 8 bytes 15位小数精度
serial 自动递增整数 4 bytes 1至2147483647
bigserial 大的自动递增整数 8 bytes 1至9223372036854775807
字符串数据类型字符串数据类型用于表示字符串类型的值。
Datatype Explanation
char(size) 大小是要存储的字符数。定长字符串。在右边填充空格以等于大小的字符。
character(size) 大小是要存储的字符数。定长字符串。在右边填充空格以等于大小的字符。
varchar(size) 大小是要存储的字符数。可变长度的字符串。
字符变化(大小) 大小是要存储的字符数。可变长度的字符串。
text 可变长度的字符串。
日期/时间数据类型日期/时间数据类型用于使用日期和时间值表示列。
Name Description Storage size 最低值 最大值 Resolution
时间戳[(p)] [不带时区] 日期和时间(无时区) 8 bytes 公元前4713年 294276 ad 1微秒/ 14位数字
带时区的时间戳[(p)] 日期和时间, 以及时区 8 bytes 4713 bc 294276广告 1微秒/ 14位数字
date 日期(无时间) 4字节 公元前4713年 5874897广告 1 day
时间[(p)] [无时区] 一天中的时间(无日期) 8字节 00:00:00 24:00:00 1微秒/ 14位数字
带时区的时间[(p)] 仅一天中的时间, 带有时区 12 bytes 00:00:00+1459 24:00:00-1459 1微秒/ 14位数字
间隔[栏位] [(p)] 时间间隔 12字节 -178000000 years 178000000 years 1微秒/ 14位数字
其他一些数据类型布尔型
Name Description Storage size
boolean 它指定是或否的状态。 1个字节
货币类型
Name Description 收纳尺寸 Range
money 货币金额 8字节 -92292220368547758.08至+92233720368547758.07
几何类型几何数据类型表示二维空间对象。最基本的类型(一点)构成了所有其他类型的基础。
Name Storage size Representation Description
point 16字节 在飞机上点 (x, y)
line 32字节 无限线(未完全实现) ((x1, y1), (x2, y2))
lseg 32 bytes 有限线段 ((x1, y1), (x2, y2))
box 32 bytes 矩形盒 ((x1, y1), (x2, y2))
path 16 + 16n字节 闭合路径(类似于多边形) ((x1, y1), … )
path 16 + 16n字节 开放的道路 [(x1, y1), … ]
polygon 40+16n 多边形(类似于封闭路径) ((x1, y1), … )
circle 24 bytes circle < (x, y), r> (中心点和半径)

    推荐阅读