⌘+k ctrl+k
0.2 (stable)
Search Shortcut cmd + k | ctrl + k
Data Types

DuckLake specifies multiple different data types for field values, and also supports nested types. The types of columns are defined in the column_type field of the ducklake_column table.

Primitive Types

Type Description
boolean True or false
int8 8-bit signed integer
int16 16-bit signed integer
int32 32-bit signed integer
int64 64-bit signed integer
uint8 8-bit unsigned integer
uint16 16-bit unsigned integer
uint32 32-bit unsigned integer
uint64 64-bit unsigned integer
float32 32-bit IEEE 754 floating-point value
float64 64-bit IEEE 754 floating-point value
decimal(P, S) Fixed-point decimal with precision P and scale S
time Time of day, microsecond precision
timetz Time of day, microsecond precision, with time zone
date Calendar date
timestamp Timestamp, microsecond precision
timestamptz Timestamp, microsecond precision, with time zone
timestamp_s Timestamp, second precision
timestamp_ms Timestamp, microsecond precision
timestamp_ns Timestamp, nanosecond precision
interval Time interval in three different granularities: months, days, and milliseconds
varchar Text
blob Binary data
json JSON
uuid Universally unique identifier

Nested Types

DuckLake supports nested types and primitive types. Nested types are defined recursively, i.e., in order to define a column of type INT[] two columns are defined. The top-level column is of type list, which has a child column of type int32.

The following nested types are supported:

Type Description
list Collection of values with a single child type
struct A tuple of typed values
map A collection of key-value pairs