Chapter Data Types
Table of Contents
Table 7.1 shows all the built-in general-purpose data types. Most of the alternative names listed in the “Aliases” column are the names used internally by ProtonBase for historical reasons. In addition, some internally used or deprecated types are available, but are not listed here.
Table Data Types
Name | Aliases | Description |
---|---|---|
bigint | int8 | signed eight-byte integer |
bigserial | serial8 | autoincrementing eight-byte integer |
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”) | |
character [ (`n`) ] | char [ (`n`) ] | fixed-length character string |
character varying [ (`n`) ] | varchar [ (`n`) ] | variable-length character string |
date | calendar date (year, month, day) | |
double precision | float8 | double precision floating-point number (8 bytes) |
inet | IPv4 or IPv6 host address | |
integer | int , int4 | signed four-byte integer |
interval [ `fields` ] [ (`p`) ] | time span | |
jsonb | binary JSON data, decomposed | |
money | currency amount | |
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 |
text | variable-length character string | |
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 |
tsquery | text search query | |
tsvector | text search document | |
uuid | universally unique identifier |
Compatibility
The following types (or spellings thereof) are specified by SQL: bigint
, bit
, bit varying
, boolean
, char
, character varying
, character
, varchar
, date
, double precision
, integer
, interval
, numeric
, decimal
, real
, smallint
, time
(with or without time zone), timestamp
(with or without time zone), xml
.
Each data type has an external representation determined by its input and output functions. Many of the built-in types have obvious external formats. However, several types are either unique to ProtonBase, such as geometric paths, or have several possible formats, such as the date and time types. Some of the input and output functions are not invertible, i.e., the result of an output function might lose accuracy when compared to the original input.