Eine PostgreSQL Standard Installation bietet bereits eine Vielzahl von Datentypen. Die folgende Tabelle enthält die wesentlichsten Typen:
| bigint / int8 | 8-Byte Integer |
| bigserial / serial8 | 8-Byte Auto-Increment Integer |
| bit [ (n) ] | Bitfeld fixer Länge |
| bit varying [ (n) ] | Bitfeld variabler Länge |
| boolean / bool | Boolean (true / false) |
| box | Rechteck |
| bytea | Byte Feld (zur Speicherung von Binärdaten) |
| character varying [ (n) ] / varchar [ (n) ] | Textfeld variabler Länge |
| character [ (n) ] / char [ (n) ] | Textfeld fixer Länge |
| cidr | IPv4 oder IPv6 Netzwerkaddresse |
| circle | Kreis |
| date | Datum |
| double precision / float8 | Gleitkommazahl |
| inet | IPv4 oder IPv6 Host Adresse |
| integer / int4 | 4-Byte Integer |
| interval [ (p) ] | Zeitinterval |
| line | Linie |
| lseg | Linien Segment |
| macaddr | MAC Adresse |
| money | Geldwert |
| numeric [ (p, s) ] / decimal [ (p, s) ] | Zahl beliebiger Länge und beliebiger Nachkommagenauigkeit |
| path | Streckenzug |
| point | Punkt |
| polygon | Polygon |
| real / float4 | 4-Byte Gleitkommawert |
| smallint / int2 | 2-Byte Integer |
| serial / serial4 | 4-Byte Auto-Increment Integer |
| text | Textfeld beliebiger Länge |
| time [ (p) ] [ without time zone ] | Zeitwert ohne Zeitzone |
| time [ (p) ] with time zone / timetz | Zeitwert mit Zeitzone |
| timestamp [ (p) ] [ without time zone ] | Zeitstempel (inkl Datum) ohne Zeitzone |
| timestamp [ (p) ] with time zone / timestamptz | Zeitstempel (inkl Datum) mit Zeitzone |
Nicht alle Datentypen benötigen auf verschiedenen Betriebssystemen gleich viel Speicher. 64-bit Systeme benötigen in der Regel etwas mehr Festspeicher als 32-bit Systeme - die Berechnung des exakt benötigten Platzes ist daher schwierig.
Wie Sie vielleicht bemerkt haben, bietet PostgreSQL auch eine Reihe von geometrischen Datentypen an, die zum Ablegen von zweidimensionalen Objekten hervorragend geeignet sind.