PostgreSQL數(shù)據(jù)類型概述

由于PostgreSQL中存在一些偽數(shù)據(jù)類型并且一些的客戶端工具還存在別稱所以寫這篇文章記錄。

PostgreSQL支持以下數(shù)據(jù)類型:

  • 布爾類型(boolean)

  • 字符類型烫饼,如charvarchartext互婿。

  • 數(shù)字類型饱搏,例如整數(shù)和浮點(diǎn)數(shù)。

  • 時(shí)間類型,如date,time,timestamp

  • 用于存儲(chǔ)通用唯一標(biāo)識(shí)符的[UUID]

  • array(數(shù)組)宙暇,用于存儲(chǔ)數(shù)組字符串输枯,數(shù)字等

  • json 存儲(chǔ)json數(shù)據(jù)

  • hstore存儲(chǔ)鍵值對(duì)

  • 特殊類型,如網(wǎng)絡(luò)地址占贫、幾何數(shù)據(jù)桃熄、貨幣數(shù)據(jù)等。

布爾

一個(gè)[布爾]數(shù)據(jù)類型可以容納三個(gè)可能的值之一:true型奥,false或null瞳收。您使用boolean或者 bool來聲明具有布爾數(shù)據(jù)類型的列。

當(dāng)將數(shù)據(jù)插入布爾列時(shí)厢汹,PostgreSQL將其轉(zhuǎn)換為布爾值螟深,例如 1yes烫葬,y界弧,ttrue會(huì)轉(zhuǎn)換為true搭综;0垢箕,non, false兑巾,f會(huì)轉(zhuǎn)換為false条获。

當(dāng)您從布爾列中查詢數(shù)據(jù)時(shí)候,PostgreSQL會(huì)將t值轉(zhuǎn)換為true蒋歌,將f空格轉(zhuǎn)換為false月匣。

字符

PostgreSQL的提供了三種[字符數(shù)據(jù)類型]:char(n)varchar(n)奋姿,和text

  • char(n)是帶有空格填充的固定長(zhǎng)度字符锄开。如果插入的字符串短于列的長(zhǎng)度,PostgreSQL會(huì)填充空格称诗。如果插入的字符串長(zhǎng)度超過列的長(zhǎng)度萍悴,PostgreSQL將發(fā)出錯(cuò)誤。

  • varchar(n)是可變長(zhǎng)度的字符串寓免。有了varchar(N)癣诱,您可以存儲(chǔ)最多n字符。當(dāng)存儲(chǔ)的字符串短于列的長(zhǎng)度時(shí)袜香,PostgreSQL不會(huì)填充空格撕予。

  • text 是可變長(zhǎng)度的字符串。從理論上講蜈首,文本數(shù)據(jù)是一個(gè)長(zhǎng)度不限的字符串实抡。

數(shù)字

PostgreSQL提供兩種不同類型的數(shù)字:

  • 整數(shù)

  • 浮點(diǎn)數(shù)

整數(shù)

PostgreSQL中有三種整數(shù):

  • smallint(小整數(shù)別名int2)是2字節(jié)有符號(hào)整數(shù)欠母,范圍從-32,768到32,767。

  • integer(別名:int吆寨、int4)是一個(gè)4字節(jié)的整數(shù)赏淌,范圍從-2,147,483,648到-2,147,483,647。

  • bigint(別名:int8)是一個(gè)八字節(jié)的整數(shù)啄清,范圍從-9223372036854775808 到9223372036854775807

  • serial(別名:serial2(smallserial)六水、serial4(serial)serial8(bigserial))最大值與整數(shù)相同辣卒,只是PostgreSQL會(huì)自動(dòng)生成值并將值填充到serial列中掷贾。這類似于MySQL中的AUTO_INCREMENT

浮點(diǎn)數(shù)

有三種主要類型的浮點(diǎn)數(shù):

  • float(n) 是一個(gè)浮點(diǎn)數(shù),其精度至少為n荣茫,最多為8個(gè)字節(jié)想帅。

  • real或者float8是雙精度(8字節(jié))浮點(diǎn)數(shù)。

  • numeric或者numeric(p,s) 是帶小數(shù)點(diǎn)后帶有s數(shù)的p位數(shù)的實(shí)數(shù)计露。這numeric(p,s)是確切的數(shù)字博脑。

時(shí)間數(shù)據(jù)類型

時(shí)態(tài)數(shù)據(jù)類型允許您存儲(chǔ)日期和/或時(shí)間數(shù)據(jù)。PostgreSQL有五種主要的時(shí)態(tài)數(shù)據(jù)類型:

  • date僅存儲(chǔ)日期值票罐。

  • time存儲(chǔ)時(shí)間值叉趣。

  • timestamp存儲(chǔ)日期和時(shí)間值。

  • timestampz是一種時(shí)區(qū)感知時(shí)間戳數(shù)據(jù)類型该押。它是帶時(shí)區(qū)的[時(shí)間戳]的縮寫疗杉。

  • interval存儲(chǔ)一段時(shí)間,時(shí)間間隔蚕礼。

timestampz是PostgreSQL對(duì)SQL標(biāo)準(zhǔn)的時(shí)間數(shù)據(jù)類型的擴(kuò)展烟具。

數(shù)組

在PostgreSQL中有存儲(chǔ)字符串,整數(shù)等類型的數(shù)組奠蹬。該數(shù)組在某些情況下會(huì)派上用場(chǎng)朝聋,例如,存儲(chǔ)一周中的幾天囤躁,一年中的幾個(gè)月冀痕。

JSON

PostgreSQL提供2種JSON的數(shù)據(jù)類型:jsonjsonb用于存儲(chǔ)json數(shù)據(jù)。

json需要為每個(gè)處理重新分析數(shù)據(jù)類型存儲(chǔ)json數(shù)據(jù)狸演,而jsonb在二進(jìn)制格式這是更快處理言蛇,但速度慢于插入數(shù)據(jù)類型存儲(chǔ)json數(shù)據(jù)。另外宵距,jsonb支持索引腊尚,這可能是一個(gè)優(yōu)勢(shì)。

UUID

UUID數(shù)據(jù)類型允許您存儲(chǔ)通用唯一標(biāo)識(shí)符被定義 满哪。這些UUID值保證了更好的唯一性婿斥,serial并且可以用于隱藏公開的敏感數(shù)據(jù)劝篷,例如id中的值。

特殊數(shù)據(jù)類型

除原始數(shù)據(jù)類型外受扳,PostgreSQL還提供了幾種與幾何和網(wǎng)絡(luò)相關(guān)的特殊數(shù)據(jù)類型携龟。

  • box- 一個(gè)矩形框兔跌。

  • line- 一組積分勘高。

  • point- 一對(duì)幾何數(shù)字。

  • lseg- 線段坟桅。

  • polygon- 封閉的幾何形狀华望。

  • inet- IP4地址。

  • macaddr- 一個(gè) MAC地址仅乓。

  • money-貨幣金額

博客地址

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末赖舟,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子夸楣,更是在濱河造成了極大的恐慌宾抓,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件豫喧,死亡現(xiàn)場(chǎng)離奇詭異石洗,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)紧显,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門讲衫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人孵班,你說我怎么就攤上這事涉兽。” “怎么了篙程?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵枷畏,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我虱饿,道長(zhǎng)拥诡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任郭厌,我火速辦了婚禮袋倔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘折柠。我一直安慰自己宾娜,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布扇售。 她就那樣靜靜地躺著前塔,像睡著了一般嚣艇。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上华弓,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天食零,我揣著相機(jī)與錄音,去河邊找鬼寂屏。 笑死盘榨,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鲜屏。 我是一名探鬼主播俺陋,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼考廉!你這毒婦竟也來了秘豹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤昌粤,失蹤者是張志新(化名)和其女友劉穎既绕,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涮坐,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡凄贩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了膊升。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怎炊。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖廓译,靈堂內(nèi)的尸體忽然破棺而出评肆,到底是詐尸還是另有隱情,我是刑警寧澤非区,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布瓜挽,位于F島的核電站,受9級(jí)特大地震影響征绸,放射性物質(zhì)發(fā)生泄漏久橙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一管怠、第九天 我趴在偏房一處隱蔽的房頂上張望淆衷。 院中可真熱鬧,春花似錦渤弛、人聲如沸祝拯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽佳头。三九已至鹰贵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間康嘉,已是汗流浹背碉输。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留亭珍,地道東北人敷钾。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像块蚌,于是被迫代替她去往敵國(guó)和親闰非。 傳聞我的和親對(duì)象是個(gè)殘疾皇子膘格,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容