Tabulka 3-1. Postgres - Datové typy

TypSQL92 nebo SQL3 typPopis
boolbooleanlogická hodnota (true/false)
box obdélník v 2D
char(n)character(n)řetězec s pevnou délkou
circle kružnice v rovině
datedatedatum (bez času)
decimaldecimal(p,s)numeric pro p <= 9, s = 0
float4float(p), p < 7číslo v poh. řád. čárce s přesnostíp
float8float(p), 7 <= p < 16číslo v poh. řád. čárce s přesností p
inet IP adresa nebo hostname
int2smallintinteger 2 byty
int4int, integerinteger 4 byty
int8 integer 8 bytů
intervalintervalčasový interval
line přímka v rovině
lseg úsečka v rovině
numericnumeric(p,s)numerická hodnota pro p == 9, s = 0
point bod v rovině
polygon uzavřený polygon v rovině
serial jednoznačná hodnota (klíč)
timetimečas
timetztime with time zonečas včetně časového pásma
timestamptimestamp with time zonedatum/čas
varchar(n)character varying(n)řetězec s proměnnou délkou

Tabulka 3-2. Vestavěné funkce

PostgresSQL92Popis
getpgusername()current_userjméno uživatele
date('now')current_datedatum provádění operace
time('now')current_timečas provádění operace
timestamp('now')current_timestampdatum a čas provádění operace

Numerické Typy

Lze použít 2- a 4-bytová celá čísla, 4- a 8-bytová čísla v pohyblivé řádové čárce a typ decimal s udanou přesností.

Tabulka 3-3. Číselné typy Postgresu

typuloženípopisrozsah
decimalproměnnépřesnost udaná uživatelem~8000 míst
float44 bytypoh. řád. čárka6 des. míst
float88 bytůpoh. řád. čárka15 des. míst
int22 bytycelé číslo-32768 až +32767
int44 bytydop. typ pro celé číslo-2147483648 až +2147483647
int88 bytůvelké celé číslo+/- > 18 platných cifer
numericproměnnépřesnost udaná uživatelembez omezení
serial4 bytyID0 až +2147483647

Znakové typy

SQL92 definuje dva základní typy: char a varchar. Postgres podporuje tyto typy a přidává obecný typ text, který nevyžaduje stanovení horní meze pro délku ukládaného textu.

Tabulka 3-5. Znakové typy

TypUloženíDoporučeníPopis
char1 byteSQL92 kompatibilníjeden znak
char(n)(4+n) bytůSQL92 kompatibilnířetězec pevné délky doplněný zprava mezerami
text(4+x) bytůdoporučenoproměnná délka
varchar(n)(4+n) bytůSQL92 kompatibilníproměnná délka se zadaným maximem

Logický Typ

Postgres podporuje typ bool dle SQL3. bool má dvě hodnoty: 'true' a 'false'. Lze použít v logickém výraze a výsledkem logického výrazu je tento typ. Je uložen v jednoum bytu.

Tabulka 3-17. Logický typ

HodnotaVýstupVstup
True't'TRUE, 't', 'true', 'y', 'yes', '1'
False'f'FALSE, 'f', 'false', 'n', 'no', '0'