MainTargetsDuckdb

Data Types

Data Types Mapping

Arrow TypeDuckDB TypeNotes
Int8TINYINT
Int16SMALLINT
Int32INTEGER
Int64BIGINT
UInt8UTINYINT
UInt16USMALLINT
UInt32UINTEGER
UInt64UBIGINT
Float16FLOAT
Float32FLOAT
Float64DOUBLE
Decimal128(p,s)DECIMAL(p,s)Falls back to VARCHAR when precision exceeds 38
Decimal256(p,s)DECIMAL(p,s)Falls back to VARCHAR when precision exceeds 38
Arrow TypeDuckDB TypeNotes
BooleanBOOLEAN
Arrow TypeDuckDB TypeNotes
Date32, Date64DATE
Time32, Time64TIME
Timestamp(s, None)TIMESTAMP_S
Timestamp(ms, None)TIMESTAMP_MS
Timestamp(us, None)TIMESTAMPMicrosecond precision, DuckDB's default
Timestamp(ns, None)TIMESTAMP_NS
Timestamp(ns, "UTC")TIMESTAMP_NS
Timestamp(*, "UTC")TIMESTAMPUTC timestamps except nanosecond
Timestamp(*, tz)TIMESTAMPTZTime zones other than UTC
IntervalINTERVAL
DurationVARCHAR
Arrow TypeDuckDB TypeNotes
Utf8, LargeUtf8VARCHAR
Arrow TypeDuckDB TypeNotes
Binary, LargeBinary, FixedSizeBinaryBLOB
Arrow TypeDuckDB TypeNotes
Utf8 with arrow.json extensionVARIANTDuckDB 1.5+. Falls back to JSON on older versions.
StructSTRUCT(...)Field names and types preserved
MapMAP(K, V)
Arrow TypeDuckDB TypeNotes
List<T>, LargeList<T>, FixedSizeList<T>T[]

Nullability

Nullable source columns are nullable on the target. All columns except primary keys are nullable by default to handle CDC edge cases. Enable preserve_source_nullability to carry over NOT NULL constraints from the source schema.

Last updated on

On this page