Documentation Index
Fetch the complete documentation index at: https://docs.wirekite.io/llms.txt
Use this file to discover all available pages before exploring further.
Mapping
The following tables explain how PostgreSQL source datatypes are mapped to each target database. Wirekite extracts data from PostgreSQL, converts it to an internal type representation, then maps to the appropriate target type.
Numeric Types
| PostgreSQL | MySQL | SQL Server | Oracle | Firebolt | Snowflake | Spanner | BigQuery | SingleStore | Databricks |
|---|
SMALLINT / INT2 | SMALLINT | SMALLINT | NUMBER(38) | INTEGER | number | INT64 | INT64 | SMALLINT | SMALLINT |
INTEGER / INT4 | INT | INT | NUMBER(38) | INTEGER | int | INT64 | INT64 | INT | INT |
BIGINT / INT8 | BIGINT | BIGINT | NUMBER(38) | BIGINT | bigint | INT64 | INT64 | BIGINT | BIGINT |
NUMERIC | NUMERIC | NUMERIC | NUMBER | NUMERIC | number | NUMERIC | NUMERIC | NUMERIC | DECIMAL |
REAL / FLOAT4 | FLOAT | REAL | BINARY_FLOAT | DOUBLE | float | FLOAT32 | FLOAT64 | FLOAT | FLOAT |
DOUBLE PRECISION / FLOAT8 | DOUBLE | FLOAT | BINARY_DOUBLE | DOUBLE | float | FLOAT64 | FLOAT64 | DOUBLE | DOUBLE |
MONEY | DECIMAL(21,2) | MONEY | NUMBER(21,2) | NUMERIC(21,2) | number(21,2) | NUMERIC | NUMERIC | DECIMAL(21,2) | DECIMAL(21,2) |
BOOLEAN | TINYINT(1) | BIT | CHAR(1) | BOOLEAN | boolean | BOOL | BOOL | TINYINT(1) | BOOLEAN |
SMALLSERIAL | SMALLINT | SMALLINT | NUMBER(38) | INTEGER | number | INT64 | INT64 | SMALLINT | SMALLINT |
SERIAL | INT | INT | NUMBER(38) | INTEGER | int | INT64 | INT64 | INT | INT |
BIGSERIAL | BIGINT | BIGINT | NUMBER(38) | BIGINT | bigint | INT64 | INT64 | BIGINT | BIGINT |
Date and Time Types
| PostgreSQL | MySQL | SQL Server | Oracle | Firebolt | Snowflake | Spanner | BigQuery | SingleStore | Databricks |
|---|
DATE | DATE | DATE | DATE | DATE | date | DATE | DATE | DATE | DATE |
TIME | TIME(6) | TIME | VARCHAR2(64) | TEXT | time | STRING | TIME | TIME(6) | STRING |
TIME WITH TIME ZONE | VARCHAR(32) | VARCHAR(64) | VARCHAR2(64) | TEXT | varchar(32) | STRING | STRING | VARCHAR(32) | STRING |
TIMESTAMP | DATETIME(6) | DATETIME2 | TIMESTAMP | TIMESTAMP | timestamp_ntz | TIMESTAMP | DATETIME | DATETIME(6) | TIMESTAMP_NTZ |
TIMESTAMP WITH TIME ZONE | VARCHAR(32) | VARCHAR(32) | TIMESTAMP WITH TIME ZONE | TIMESTAMPTZ | timestamp_tz | STRING | TIMESTAMP | VARCHAR(32) | TIMESTAMP |
INTERVAL | VARCHAR(64) | VARCHAR(64) | VARCHAR2(128) | TEXT | varchar(64) | STRING | STRING | VARCHAR(64) | STRING |
Character Types
| PostgreSQL | MySQL | SQL Server | Oracle | Firebolt | Snowflake | Spanner | BigQuery | SingleStore | Databricks |
|---|
CHARACTER / CHAR | CHAR | CHAR | CHAR | TEXT | varchar | STRING | STRING | CHAR | STRING |
CHARACTER VARYING / VARCHAR | VARCHAR | VARCHAR | VARCHAR2 | TEXT | varchar | STRING | STRING | VARCHAR | STRING |
TEXT | LONGTEXT | VARCHAR(MAX) | CLOB | TEXT | varchar | STRING | STRING | LONGTEXT | STRING |
UUID | VARCHAR(64) | UNIQUEIDENTIFIER | VARCHAR2(128) | TEXT | varchar(64) | STRING | STRING | VARCHAR(64) | STRING |
XML | TEXT | XML | CLOB | TEXT | varchar | STRING | STRING | TEXT | STRING |
JSON / JSONB | JSON | VARCHAR(MAX) | CLOB | TEXT | varchar | JSON | JSON | JSON | STRING |
Binary Types
| PostgreSQL | MySQL | SQL Server | Oracle | Firebolt | Snowflake | Spanner | BigQuery | SingleStore | Databricks |
|---|
BYTEA | BLOB | VARBINARY(MAX) | BLOB | BYTEA | binary | BYTES | BYTES | BLOB | BINARY |
Bit String Types
| PostgreSQL | MySQL | SQL Server | Oracle | Firebolt | Snowflake | Spanner | BigQuery | SingleStore | Databricks |
|---|
BIT / BIT VARYING | BIT | VARCHAR | VARCHAR2 | TEXT | varchar | STRING | STRING | BIT | STRING |
Network Address Types
| PostgreSQL | MySQL | SQL Server | Oracle | Firebolt | Snowflake | Spanner | BigQuery | SingleStore | Databricks |
|---|
INET | VARCHAR(64) | VARCHAR(64) | VARCHAR2(128) | TEXT | varchar(64) | STRING | STRING | VARCHAR(64) | STRING |
CIDR | VARCHAR(64) | VARCHAR(64) | VARCHAR2(128) | TEXT | varchar(64) | STRING | STRING | VARCHAR(64) | STRING |
MACADDR | VARCHAR(64) | VARCHAR(64) | VARCHAR2(128) | TEXT | varchar(64) | STRING | STRING | VARCHAR(64) | STRING |
Geometric Types
| PostgreSQL | MySQL | SQL Server | Oracle | Firebolt | Snowflake | Spanner | BigQuery | SingleStore | Databricks |
|---|
POINT | VARCHAR(256) | VARCHAR(256) | VARCHAR2(256) | TEXT | varchar(256) | STRING | STRING | VARCHAR(256) | STRING |
LINE | VARCHAR(256) | VARCHAR(256) | VARCHAR2(256) | TEXT | varchar(256) | STRING | STRING | VARCHAR(256) | STRING |
LSEG | VARCHAR(512) | VARCHAR(512) | VARCHAR2(512) | TEXT | varchar(512) | STRING | STRING | VARCHAR(512) | STRING |
BOX | VARCHAR(512) | VARCHAR(512) | VARCHAR2(512) | TEXT | varchar(512) | STRING | STRING | VARCHAR(512) | STRING |
PATH | VARCHAR(1024) | VARCHAR(1024) | VARCHAR2(1024) | TEXT | varchar(1024) | STRING | STRING | VARCHAR(1024) | STRING |
POLYGON | VARCHAR(1024) | VARCHAR(1024) | VARCHAR2(1024) | TEXT | varchar(1024) | STRING | STRING | VARCHAR(1024) | STRING |
CIRCLE | VARCHAR(256) | VARCHAR(256) | VARCHAR2(256) | TEXT | varchar(256) | STRING | STRING | VARCHAR(256) | STRING |
Text Search Types
| PostgreSQL | MySQL | SQL Server | Oracle | Firebolt | Snowflake | Spanner | BigQuery | SingleStore | Databricks |
|---|
TSVECTOR | VARCHAR(1024) | VARCHAR(1024) | VARCHAR2(1024) | TEXT | varchar(1024) | STRING | STRING | VARCHAR(1024) | STRING |
TSQUERY | VARCHAR(256) | VARCHAR(256) | VARCHAR2(256) | TEXT | varchar(256) | STRING | STRING | VARCHAR(256) | STRING |
Other Types
| PostgreSQL | MySQL | SQL Server | Oracle | Firebolt | Snowflake | Spanner | BigQuery | SingleStore | Databricks |
|---|
TXID_SNAPSHOT | VARCHAR(64) | VARCHAR(64) | VARCHAR2(128) | TEXT | varchar(64) | STRING | STRING | VARCHAR(64) | STRING |
ENUM | ENUM | VARCHAR(64) | VARCHAR2 | TEXT | varchar(64) | STRING | STRING | ENUM | STRING |
ARRAY | varies | varies | varies | ARRAY | ARRAY | ARRAY | ARRAY | varies | ARRAY |
ENUM types: When the target is MySQL or SingleStore, built-in ENUM types are preserved natively. For all other targets, PostgreSQL user-defined ENUM types are mapped to varchar(4000).
ARRAY types: PostgreSQL array types (e.g., integer[], text[]) are detected automatically and converted to native ARRAY types where the target supports them (Firebolt, Snowflake, Spanner, BigQuery, Databricks). For targets without native array support, arrays are stored as VARCHAR strings.