Bawat karaniwang column data type ng PostgreSQL, naka-grupo ayon sa pamilya: mga buong bilang, decimal, teksto, oras, boolean at UUID, JSON, mga network address, composite na uri, at mga uri mula sa extension. Ipapakita ng bawat row kung ano ang iniimbak ng uri at kailan ito pipiliin.
May dosen-dosen ang mga tipo ng PostgreSQL, ngunit ang pang-araw-araw na disenyo ng schema ay gumagamit ng core na set. Ang mga paulit-ulit na pagpili ay: integer kumpara sa numeric para sa mga numero, varchar kumpara sa text para sa mga string (madalas ay sapat na ang text), timestamp kumpara sa timestamptz (piliin ang timestamptz para sa anumang totoong mundo), at json kumpara sa jsonb (piliin ang jsonb; binary ito at indexable). Piliin ang pinaka-espesipikong uri na kasya pa rin; ipapatupad ito ng database para sa iyo.
Talaan ng sanggunian · 46 mga entry
Mga data type ng PostgreSQLExplained
46 of 46 rows
Mga buong bilang
2-byte na integer mula -32768 hanggang 32767.
Bihira; kapag kailangan magtipid ng espasyo.
4-byte na integer, mga plus/minus 2 bilyon.
Ang default na whole-number column.
8-byte na integer, mga plus/minus 9 kuintilyon.
Napakalalaking bilang o external na ID.
Awto-nagtaas na 4-byte na integer.
Lumang auto-numbered na key; simula PG 10, GENERATED AS IDENTITY ang inirerekomendang pamalit.
Ang 2-byte at 8-byte na baryante ng serial.
Auto-numbering na tugma sa smallint o bigint na column.
Integer na ginenera ng table para sa iyo (GENERATED ALWAYS AS IDENTITY).
Ang makabagong serial; SQL-standard at mas ligtas laban sa manual na insert.
Mga decimal at float
Eksaktong decimal na may arbitrary na precision.
Pera at anumang bagay na hindi maaaring magkaroon ng rounding error.
4-byte na single-precision float.
Approksimadong siyentipikong halaga kung hindi kritikal ang precision.
8-byte na double-precision float.
Geospatial, estadistika, at ML feature na halaga.
Halaga ng pera na may nakapirming locale.
Bihira; ang numeric na may currency code sa gawing app ay mas portable.
Teksto
Teksto na may nakapirming haba, pinupuno ng espasyo.
Mga code na may alam na lapad; bihirang kailangan.
Teksto na may nababagong haba at opsyonal na limit.
May hanggan na string tulad ng username o email.
Teksto na may nababagong haba na walang limit sa haba.
Ang pangkalahatang string column; walang performance penalty kumpara sa varchar.
Oras
Petsa sa kalendaryo na walang oras ng araw.
Kaarawan at takdang petsa.
Oras ng araw, na may o walang time zone.
Pang-araw-araw na alarma o oras ng operasyon ng tindahan.
Petsa at oras na walang time zone.
Lumang schema; iwasan sa bagong gawain.
Petsa at oras na naka-imbak bilang UTC, ipinapakita sa time zone ng client.
Ang default para sa anumang totoong sandali; piliin ito kaysa timestamp.
Haba ng panahon, tulad ng 2 araw o 3 oras.
Mga durasyon at aritmetika ng petsa.
Boolean, UUID at bytes
Totoo o mali.
Mga flag at toggle.
128-bit na universally unique identifier.
Hindi sunod-sunod na ID na ligtas ipakita sa labas (i-generate sa app o gamit ang gen_random_uuid).
Hilaw na binary bytes.
Mga blob, larawan, at opaque na payload; mas mainam ang object storage para sa malalaking file.
Nakapirming o nababagong haba na mga string ng bits.
Naka-pack na mga flag at field ng protocol; ang isang on/off na halaga ay boolean pa rin.
JSON at bahagyang structured na data
JSON na na-parse sa binary at indexable na anyo.
Flexible o nested na data; ang inirerekomendang JSON column (sinusuportahan ang GIN index).
JSON na pinapanatiling orihinal na teksto.
Bihira; kapag kailangan panatilihin ang order ng key o eksaktong whitespace.
XML na teksto.
Lumang integrasyon na nangangailangan ng XML.
Compiled na path expression para mag-navigate sa JSON data.
Pag-filter sa loob ng jsonb gamit ang jsonb_path_query at ang mga SQL/JSON operator.
Network at paghahanap
IPv4 o IPv6 na host address.
Pag-imbak ng IP ng client o server.
IP network block, tulad ng 10.0.0.0/24.
Mga firewall rule at saklaw ng subnet.
6-byte o 8-byte (EUI-64) na MAC address.
Mga identifier ng device at network interface.
Paunang pinrosesong teksto para sa full-text search.
Naka-built-in na paghahanap ng Postgres bago dumako sa hiwalay na search engine.
Mga termino sa paghahanap na pinagsama ng AND, OR, at prefix operator.
Ang query na kalahati ng full-text search, pine-pair sa tsvector gamit ang @@.
Posisyon sa write-ahead log, ang log sequence number.
Pagsubaybay sa lag ng replication at pag-monitor ng backup.
Composite at advanced
Array ng anumang base type, hal. integer[].
Listahan ng simpleng halaga; gumamit ng child table kapag kailangan ng sariling column ang bawat item.
Isang halaga mula sa nakapirming listahang iyong tinukoy.
Mga status field na may matatag na set ng opsyon.
Custom na row type na binubuo ng ilang field.
Inuulit na grupo ng field na ibinabahagi ng mga table.
Tuloy-tuloy na saklaw sa pagitan ng dalawang hangganan.
Mga iskedyul, price band, at saklaw ng bersyon, kasama ang mga overlap operator.
Base type na binalot ng mga constraint na iyong tinukoy.
Mga reusable na patakaran tulad ng hindi bakanteng email, ipinatupad sa bawat column na gumagamit nito.
Walang pangalang row ng mga typed na halaga.
Return ng PL/pgSQL function at intermediate na resulta ng query.
Naka-built-in na two-dimensional na heometrikong halaga.
Simpleng geometry sa plano; ang mga totoong lokasyon ay nangangailangan ng PostGIS.
Unsigned na 4-byte na identifier ng system object.
Pag-join sa system catalog; hindi para sa column ng application.
63-character na panloob na identifier string.
Mga query sa catalog; ordinaryong text para sa anumang nakikita ng user.
Mga uri mula sa extension
Mga pares na key/value na string sa iisang halaga (extension).
Flat na map; mas mahusay na nasasaklawan ng jsonb ngayon.
Hierarkikal na label path tulad ng news.tech.ai (extension).
Mga puno na may query para sa ancestor at descendant.
Teksto na hinahambingang walang pakialam sa case (extension).
Case-insensitive na pagiging unique tulad ng email, nang walang lower() index.
Heograpiko at heometrikong objeto mula sa PostGIS extension.
Mga query sa distansiya, containment, at spatial index.
Mga function ng extension na gumagawa ng UUID.
Lumang paraan ng pag-generate; simula PG 13, built-in na ang gen_random_uuid().