Materialize Logo

SQL Data Types

Type Aliases Use Size (bytes) Syntax
bigint int8 Large signed integer 8 123
boolean bool State of TRUE or FALSE 1 TRUE, FALSE
date Date without a specified time 4 DATE '2007-02-01'
numeric decimal Signed exact number with user-defined precision and scale 16 1.23
double precision float, float8 Double precision floating-point number 8 1.23
real float4 Single precision floating-point number 4 1.23
integer int4, int Signed integer 4 123
interval Duration of time 32 INTERVAL '1-2 3 4:5:6.7'
jsonb json JSON Variable '{"1":2,"3":4}'::jsonb
list Multidimensional list Variable LIST[[1,2],[3]]
record Tuple with arbitrary contents Variable ROW($expr, ...)
oid PostgreSQL object identifier 4 123
text string Unicode string Variable 'foo'
time Time without date 4 TIME '01:23:45'
timestamp Date and time 8 TIMESTAMP '2007-02-01 15:04:05'
timestamp with time zone timestamptz Date and time with timezone 8 TIMESTAMPTZ '2007-02-01 15:04:05+06'
Arrays ([]) Multidimensional array Variable ARRAY[...]

The names listed in the “Type” column represent the names specified in the SQL standard. For compatibility with other SQL database systems, Materialize often uses one of the aliases listed in the “Aliases” column to refer to the type internally and in error messages.