Data type support & mapping for PostgreSQL sources
PostgreSQL source type | BigQuery | Databricks | MySQL | Oracle | PostgreSQL | Snowflake | Spanner | SQL Server / Azure Synapse |
---|---|---|---|---|---|---|---|---|
bigint / int8 | int64 | bigint | bigint | int | bingint | integer | int64 | bigint |
bigserial / serial8 | int64 | bigint | bigint | int | bigserial | integer | int64 | bigint |
bit varying(s) | not supported | not supported | not supported | not supported | bit varying(s) | binary | not supported | varbinary(10) |
bit(s) | not supported | not supported | bit(s) bit(64) | not supported | bit varying(s) | binary | not supported | varchar(s) |
boolean | boolean | boolean | bool | not supported | boolean | boolean | bool | bit |
bytea | bytes | binary | longblob | blob | bytea | binary | bytes(max) | varbinary(max) |
character varying(s) | string | string | varchar(s) if (s) <65535 longtext | varchar2(s) | character varying(s) if (s) <65535 longtext | varchar(s) | string(s) | varchar(s) |
character(s) | string | string | character(s) | char(s) | bpchar(s) | character(s) | string(s) | character(s) |
cidr | not supported | not supported | not supported | not supported | cidr | not supported | not supported | not supported |
date | date | date | date | date | date | date | date | date |
double precision | numeric | double | double | double precision | double precision | double precision | float64 | float(s) |
float | float64 | float | float(s) | float | double precision | float | float64 | float(17) |
inet | not supported | not supported | not supported | not supported | inet | not supported | not supported | not supported |
integer / int4 | int64 | bigint | integer | int | integer | integer | int64 | integer |
interval | string | string | varchar(100) | varchar2(100) | interval | varchar | string(max) | varchar(100) |
json | string | string | json | clob | json | variant | string(max) | varchar(max) |
jsonb | string | string | json | clob | jsonb | variant | string(max) | varchar(max) |
macaddr | not supported | not supported | not supported | not supported | macaddr | not supported | not supported | not supported |
numeric / decimal | numeric | decimal(38) | decimal(65) | number | numeric | numeric | float64 | numeric(38) |
numeric(p,s) / decimal(p,s) | string | decimal(p,s) if p<=38, s<=37 string if p>38 or s>37 | decimal(p,s) | number(p,s) | numeric(p,s) | numeric(p,s) | float64 | numeric(p,s) |
numeric(p) / decimal(p) | numeric | decimal(p,0) if p<=38 string if p>38 | decimal(p,0) | numeric(p,0) | numeric(p,0) | numeric(p,0) | float64 | numeric(p,0) |
pg_lsn | not supported | not supported | not supported | not supported | pg_lsn | not supported | not supported | not supported |
real | float64 | float | float(s) | float | real | float | float64 | float |
serial / serial4 | int64 | bigint | integer | int | serial | integer | int64 | integer |
smallInt / int2 | int64 | bigint | smallint | int | smallint | integer | int64 | smallint |
smallserial / serial2 | int64 | bigint | smallint | int | smallserial | integer | int64 | smallint |
text | string | string | longtext | clob | text | varchar | string(max) | varchar(max) |
time | time | timestamp | time | varchar2(100) | time(s) | time | string(max) | time |
time without Time zone | time | timestamp | time | varchar2(100) | time(s) | time | string(max) | time |
timestamp | datetime | timestamp | datetime | timestamp | timestamp(s) without timezone | timestamp | timestamp | datetime2 |
timestamp With Timezone | timestamp | timestamp | timestamp | timestamp with timezone | timestamp(s) with timezone | timestamp with time zone | timestamp | datetimeoffset |
txid_snapshot | not supported | not supported | not supported | not supported | txid_snapshot | not supported | not supported | not supported |
uuid | not supported | not supported | not supported | not supported | uuid | not supported | not supported | not supported |
xml | string | string | longtext | xmltype | xml | varchar | string(max) | xml |
PostgreSQL source types box, cid, circle, daterange, int4range, int8range, line, lseg, money, numrange, oid, path, point, polygon, tsquery, tsrange, tstzrange, tsvector, and xid are not supported. See Data Types for a list of supported data type aliases (such as decimal and varchar). |