Appendix F. Data Type Correspondence in Postgres Pro, DuckDB, and Parquet

Postgres Pro AXE operates with the data from different systems and objects. The table below explains the correspondence of data types for these systems and objects.

Postgres Pro DBMS

DuckDB

Parquet Physical

Parquet Logical

Parquet Converted

bigint

BIGINT

INT64

-

INT_64

bigserial

BIGINT

INT64

-

INT_64

boolean

BOOLEAN

BOOLEAN

-

-

bytea

BLOB

BYTE_ARRAY

-

-

character

VARCHAR

BYTE_ARRAY

-

UTF8

character varying

VARCHAR

BYTE_ARRAY

-

UTF8

date

DATE

INT32

-

DATE

double precision

DOUBLE

DOUBLE

-

-

integer

INTEGER

INT32

-

INT_32

interval

INTERVAL

FIXED_LEN_BYTE_ARRAY(12)

-

INTERVAL

json

JSON

BYTE_ARRAY

JsonType

JSON

jsonb

JSON

BYTE_ARRAY

JsonType

JSON

money

VARCHAR

BYTE_ARRAY

-

UTF8

numeric

DOUBLE

DOUBLE

-

-

numeric (1–9)

DECIMAL (1–9)

INT32

Decimal (1–9)

DECIMAL

numeric (10–18)

DECIMAL (10–18)

INT64

Decimal (10–18)

DECIMAL

numeric (19–38)

DECIMAL (19–38)

FIXED_LEN_BYTE_ARRAY(16)

Decimal (19–38)

DECIMAL

real

FLOAT

FLOAT

-

-

smallint

SMALLINT

INT32

-

INT_16

smallserial

SMALLINT

INT32

-

INT_16

serial

INTEGER

INT32

-

INT_32

text

VARCHAR

BYTE_ARRAY

-

UTF8

time

TIME

INT64

TimeType(MICROS)

TIME_MICROS

timetz

TIMETZ

INT64

TimeType(MICROS)

TIME_MICROS

timestamp

TIMESTAMP

INT64

TimestampType(MICROS)

TIMESTAMP_MICROS

timestamptz

TIMESTAMPTZ

INT64

TimestampType(MICROS)

TIMESTAMP_MICROS

uuid

UUID

FIXED_LEN_BYTE_ARRAY(16)

UUIDType()

-

For more information about data type limitations, refer to the official DuckDB documentation.