Minden gyakori PostgreSQL oszlop-adattípus, családonként csoportosítva: egész számok, tizedestörtek, szövegek, idő, logikai értékek és UUID-k, JSON, hálózati címek, összetett típusok és bővítménytípusok. Minden sor megmutatja, mit tárol a típus, és mikor érdemes azt választani.
A PostgreSQL tucatnyi típussal rendelkezik, de a napi séma-tervezés egy alapkészletet használ. A visszatérő döntések: integer vagy numeric a számoknál, varchar vagy text a szövegeknél (a text általában megfelelő), timestamp vagy timestamptz (valódi világbeli adatoknál a timestamptz-t részesítsd előnyben), és json vagy jsonb (a jsonb-t preferáld, mert bináris és indexelhető). Válaszd a legspecifikusabb típust, amely még belefér; az adatbázis a helyedben érvényesíti azt.
Referenciatáblázat · 46 bejegyzés
PostgreSQL adattípusokExplained
46 of 46 rows
Egész számok
2 bájtos egész szám -32768-tól 32767-ig.
Ritka; csak amikor helyet kell spórolni.
4 bájtos egész szám, körülbelül plusz/mínusz 2 milliárd.
Az alapértelmezett egészoszlop.
8 bájtos egész szám, körülbelül plusz/mínusz 9 trillió.
Nagyon nagy számlálók vagy külső azonosítók.
Automatikusan növekvő 4 bájtos egész szám.
Örökölt, automatikusan számozott kulcsok; a PG 10 óta a GENERATED AS IDENTITY az ajánlott helyettesítő.
A serial 2 és 8 bájtos változatai.
Smallint vagy bigint oszlophoz illeszkedő automatikus számozás.
Egy egész szám, amelyet a tábla generál számodra (GENERATED ALWAYS AS IDENTITY).
A modern serial; SQL-szabvány szerinti és biztonságosabb a kézi beszúrással szemben.
Tizedestörtek és lebegőpontos számok
Tetszőleges pontosságú, pontos tizedestörtek.
Pénz és bármi, ahol a kerekítési hiba elfogadhatatlan.
4 bájtos, egyszeres pontosságú lebegőpontos szám.
Közelítő tudományos értékek, ahol a pontosság nem kritikus.
8 bájtos, kétszeres pontosságú lebegőpontos szám.
Geotérinformatikai, statisztikai és ML jellemzőértékek.
Pénzösszeg rögzített területi beállítással.
Ritkán; a numeric alkalmazásoldali pénznemkóddal hordozhatóbb.