PostgreSQL數據類型

數據類型指定要在表字段中存儲哪種類型的數據。 在創建表時,對於每列必須使用數據類型。
PotgreSQL中主要有三種類型的數據類型。 此外,用戶還可以使用CREATE TYPE SQL命令創建自己的自定義數據類型。

以下是PostgreSQL中主要有三種類型的數據類型:

  • 數值數據類型
  • 字符串數據類型
  • 日期/時間數據類型

數值數據類型

數字數據類型用於指定表中的數字數據。

名稱

描述

存儲大小

範圍

smallint

存儲整數,小範圍

2字節

-32768 至 +32767

integer

存儲整數。使用這個類型可存儲典型的整數

4字節

-2147483648 至 +2147483647

bigint

存儲整數,大範圍。

8字節

-9223372036854775808 至 9223372036854775807

decimal

用戶指定的精度,精確

變量

小數點前最多爲131072個數字; 小數點後最多爲16383個數字。

numeric

用戶指定的精度,精確

變量

小數點前最多爲131072個數字; 小數點後最多爲16383個數字。

real

可變精度,不精確

4字節

6位數字精度

double

可變精度,不精確

8字節

15位數字精度

serial

自動遞增整數

4字節

1 至 2147483647

bigserial

大的自動遞增整數

8字節

1 至 9223372036854775807

字符串數據類型

String數據類型用於表示字符串類型值。

數據類型

描述

char(size)

這裏size是要存儲的字符數。固定長度字符串,右邊的空格填充到相等大小的字符。

character(size)

這裏size是要存儲的字符數。 固定長度字符串。 右邊的空格填充到相等大小的字符。

varchar(size)

這裏size是要存儲的字符數。 可變長度字符串。

character varying(size)

這裏size是要存儲的字符數。 可變長度字符串。

text

可變長度字符串。

日期/時間數據類型

日期/時間數據類型用於表示使用日期和時間值的列。

名稱

描述

存儲大小

最小值

最大值

解析度

timestamp [ (p) ] [不帶時區 ]

日期和時間(無時區)

8字節

4713 bc

294276 ad

1微秒/14位數

timestamp [ (p) ]帶時區

包括日期和時間,帶時區

8字節

4713 bc

294276 ad

date

日期(沒有時間)

4字節

4713 bc

5874897 ad

1微秒/14位數

time [ (p) ] [ 不帶時區 ]

時間(無日期)

8字節

00:00:00

24:00:00

1微秒/14位數

time [ (p) ] 帶時區

僅限時間,帶時區

12字節

00:00:00+1459

24:00:00-1459

1微秒/14位數

interval [ fields ] [ (p) ]

時間間隔

12字節

-178000000年

178000000年

1微秒/14位數

一些其他數據類型

布爾類型:

名稱

描述

存儲大小

boolean

它指定truefalse的狀態。

1字節

貨幣類型:

名稱

描述

存儲大小

範圍

money

貨幣金額

8字節

-92233720368547758.08 至 +92233720368547758.07

幾何類型:

幾何數據類型表示二維空間對象。最根本的類型: - 形成所有其他類型的基礎。

名稱

存儲大小

表示

描述

point

16字節

在一個平面上的點

(x,y)

line

32字節

無限線(未完全實現)

((x1,y1),(x2,y2))

lseg

32字節

有限線段

((x1,y1),(x2,y2))

box

32字節

矩形框

((x1,y1),(x2,y2))

path

16+16n字節

封閉路徑(類似於多邊形)

((x1,y1),…)

polygon

40+16n字節

多邊形(類似於封閉路徑)

((x1,y1),…)

circle

24字節

<(x,y),r>(中心點和半徑)