Browse PostgreSQL data types with storage sizes, ranges, and recommendations.
smallintNumeric2 bytes(int2)Small-range integer.
integerNumeric4 bytes(int, int4)Standard integer type. The most common choice for integer data.
bigintNumeric8 bytes(int8)Large-range integer.
numericNumericVariable(decimal)Exact numeric with user-specified precision. No rounding errors.
realNumeric4 bytes(float4)Single-precision floating-point number.
double precisionNumeric8 bytes(float8, float)Double-precision floating-point number.
serialNumeric4 bytes(serial4)Auto-incrementing 4-byte integer. Shorthand for integer + sequence.
bigserialNumeric8 bytes(serial8)Auto-incrementing 8-byte integer.
textTextVariable (unlimited)Variable-length string with no length limit.
varchar(n)TextVariable (up to n chars)(character varying)Variable-length string with a maximum length constraint.
char(n)TextFixed n bytes(character)Fixed-length character string, padded with spaces.
timestamp with time zoneDate/Time8 bytes(timestamptz)Date and time with timezone awareness. Stored as UTC internally.
timestamp without time zoneDate/Time8 bytes(timestamp)Date and time without timezone. Stores the literal value without UTC conversion.
dateDate/Time4 bytesCalendar date without time of day.
time with time zoneDate/Time12 bytes(timetz)Time of day with timezone offset.
time without time zoneDate/Time8 bytes(time)Time of day without date or timezone.
intervalDate/Time16 bytesTime span / duration.
booleanBoolean1 byte(bool)Logical boolean (true/false).
byteaBinaryVariableBinary data ("byte array").
jsonbJSONVariableBinary JSON. Supports indexing (GIN), containment operators, and efficient access.
jsonJSONVariableText JSON. Stores exact input including whitespace. No indexing support.
uuidUUID16 bytesUniversally unique identifier. Stored as 16 bytes (more compact than text representation).
inetNetwork7 or 19 bytesIP address (v4 or v6) with optional subnet mask.
cidrNetwork7 or 19 bytesNetwork address (CIDR notation). Host bits must be zero.
macaddrNetwork6 bytesMAC address (6-byte hardware address).
moneyMonetary8 bytesCurrency amount. Fixed fractional precision determined by lc_monetary locale.
int4rangeRangeVariableRange of 4-byte integers. Supports containment, overlap, and adjacency operators.
tstzrangeRangeVariableRange of timestamps with timezone. Excellent for scheduling and reservations.
arrayArrayVariableOne-dimensional or multi-dimensional array of any PostgreSQL type.
Start free with one primary or standalone PostgreSQL instance and all its databases. Monitoring, alerts, query insights, index advice, team access and every non-AI feature included. No replicas. No credit card required. New Free connections get seven days of full collection, then reduced sampling. Free and Pro include 30 days of monitoring history.