All info has been lifted from postgres documentation
https://www.postgresql.org/docs/current/datatype.html
Financial
Name |
Aliases |
Description |
money |
|
currency amount |
Note - The currency associated with money type changes with the database's locale, and this can cause discrepancies.
So, It is still recommended to use numeric (decimal is just an alias of numeric) for storing financial amounts.
And indicate currency using standard currency codes (ISO 4217)
Geometric
Name |
Aliases |
Description |
box |
|
rectangular box on a plane |
circle |
|
circle on a plane |
line |
|
infinite line on a plane |
lseg |
|
line segment on a plane |
path |
|
geometric path on a plane |
point |
|
geometric point on a plane |
polygon |
|
closed geometric path on a plane |
Json, xml
Name |
Aliases |
Description |
json |
|
textual JSON data |
jsonb |
|
binary JSON data, decomposed |
xml |
|
XML data |
Logical
Name |
Aliases |
Description |
bit [ (_`n`_) ] |
|
fixed-length bit string |
bit varying [ (_`n`_) ] |
varbit [ (_`n`_) ] |
variable-length bit string |
boolean |
bool |
logical Boolean (true/false) |
bytea |
|
binary data (“byte array”) |
Numeric
Name |
Aliases |
Description |
bigint |
int8 |
signed eight-byte integer |
bigserial |
serial8 |
autoincrementing eight-byte integer |
double precision |
float8 |
double precision floating-point number (8 bytes) |
integer |
int , int4 |
signed four-byte integer |
numeric [ (_`p`_, _`s`_) ] |
decimal [ (_`p`_, _`s`_) ] |
exact numeric of selectable precision |
real |
float4 |
single precision floating-point number (4 bytes) |
smallint |
int2 |
signed two-byte integer |
smallserial |
serial2 |
autoincrementing two-byte integer |
serial |
serial4 |
autoincrementing four-byte integer |
Specialized
Name |
Aliases |
Description |
cidr |
|
IPv4 or IPv6 network address |
inet |
|
IPv4 or IPv6 host address |
macaddr |
|
MAC (Media Access Control) address |
macaddr8 |
|
MAC (Media Access Control) address (EUI-64 format) |
txid_snapshot |
|
user-level transaction ID snapshot (deprecated; see pg_snapshot ) |
uuid |
|
universally unique identifier |
Name |
Aliases |
Description |
pg_lsn |
|
PostgreSQL Log Sequence Number |
pg_snapshot |
|
user-level transaction ID snapshot |
tsquery |
|
text search query |
tsvector |
|
text search document |
txid_snapshot |
|
user-level transaction ID snapshot (deprecated; see pg_snapshot ) |
String
Name |
Aliases |
Description |
character [ (_`n`_) ] |
char [ (_`n`_) ] |
fixed-length character string |
character varying [ (_`n`_) ] |
varchar [ (_`n`_) ] |
variable-length character string |
text |
|
variable-length character string |
Time
Name |
Aliases |
Description |
date |
|
calendar date (year, month, day) |
interval [ _`fields`_ ] [ (_`p`_) ] |
|
time span |
time [ (_`p`_) ] [ without time zone ] |
|
time of day (no time zone) |
time [ (_`p`_) ] with time zone |
timetz |
time of day, including time zone |
timestamp [ (_`p`_) ] [ without time zone ] |
|
date and time (no time zone) |
timestamp [ (_`p`_) ] with time zone |
timestamptz |
date and time, including time zone |