C.3. Data Type Correspondence: Postgres Pro, pgpro_metastore, DuckDB, and Parquet #

The table below shows the correspondence of data types in Postgres Pro, pgpro_metastore, DuckDB, and Parquet.

Postgres Pro

pgpro_metastore

DuckDB

Parquet Physical

Parquet Logical

Parquet Converted

bigint

int64

BIGINT

INT64

-

INT_64

bigserial

int64

BIGINT

INT64

-

INT_64

boolean

boolean

BOOLEAN

BOOLEAN

-

-

bytea

blob

BLOB

BYTE_ARRAY

-

-

character

varchar

VARCHAR

BYTE_ARRAY

-

UTF8

character varying

varchar

VARCHAR

BYTE_ARRAY

-

UTF8

date

date

DATE

INT32

-

DATE

double precision

float64

DOUBLE

DOUBLE

-

-

integer

int32

INTEGER

INT32

-

INT_32

interval

interval

INTERVAL

FIXED_LEN_BYTE_ARRAY(12)

-

INTERVAL

json

json

JSON

BYTE_ARRAY

JsonType()

JSON

jsonb

json

JSON

BYTE_ARRAY

JsonType()

JSON

money

varchar

VARCHAR

BYTE_ARRAY

-

UTF8

numeric

float64

DOUBLE

DOUBLE

-

-

numeric (1–9)

decimal

DECIMAL (1–9)

INT32

Decimal (1–9)

DECIMAL

numeric (10–18)

decimal

DECIMAL (10–18)

INT64

Decimal (10–18)

DECIMAL

numeric (19–38)

decimal

DECIMAL (19–38)

FIXED_LEN_BYTE_ARRAY(16)

Decimal (19–38)

DECIMAL

real

float32

FLOAT

FLOAT

-

-

serial

int32

INTEGER

INT32

-

INT_32

smallint

int16

SMALLINT

INT32

-

INT_16

smallserial

int16

SMALLINT

INT32

-

INT_16

text

varchar

VARCHAR

BYTE_ARRAY

-

UTF8

time

time

TIME

INT64

TimeType(MICROS)

TIME_MICROS

timetz

timetz

TIMETZ

INT64

TimeType(MICROS)

TIME_MICROS

timestamp

timestamp

TIMESTAMP

INT64

TimestampType(MICROS)

TIMESTAMP_MICROS

timestamptz

timestamptz

TIMESTAMPTZ

INT64

TimestampType(MICROS)

TIMESTAMP_MICROS

uuid

uuid

UUID

FIXED_LEN_BYTE_ARRAY(16)

UUIDType()

-