Reference material for Snowflake Publishing -- data type mappings and CLI arguments.
Data Type Mapping
Source types map automatically to Snowflake-compatible types. LakeXpress exports through Parquet, so the mapping is driven by the normalized source type name.
Pick your source database:
- PostgreSQL
- SQL Server
- Oracle
- Teradata
- MySQL
- MariaDB
- SAP HANA
PostgreSQL to Snowflake
| PostgreSQL Type | Snowflake Type |
|---|
SMALLINT, INTEGER, INT4, BIGINT, INT8 | NUMBER |
NUMERIC(p,s) | NUMBER(p,s) |
REAL, FLOAT4, DOUBLE PRECISION, FLOAT8 | FLOAT |
VARCHAR(n), CHAR(n) | VARCHAR(n) |
TEXT | VARCHAR |
BOOLEAN | BOOLEAN |
DATE | DATE |
TIME | TIME |
TIMESTAMP | TIMESTAMP_NTZ |
TIMESTAMPTZ | TIMESTAMP_TZ |
BYTEA | BINARY |
UUID | VARCHAR(36) |
JSON, JSONB, array [] | VARIANT |
SQL Server to Snowflake
| SQL Server Type | Snowflake Type |
|---|
TINYINT, SMALLINT, INT, BIGINT | NUMBER |
DECIMAL(p,s) | NUMBER(p,s) |
MONEY | NUMBER(19,4) |
SMALLMONEY | NUMBER(10,4) |
FLOAT, REAL | FLOAT |
BIT | BOOLEAN |
VARCHAR(n), NVARCHAR(n), CHAR(n), NCHAR(n) | VARCHAR(n) |
TEXT, NTEXT | VARCHAR |
DATE | DATE |
DATETIME, DATETIME2, SMALLDATETIME | TIMESTAMP_NTZ |
DATETIMEOFFSET | TIMESTAMP_TZ |
VARBINARY | BINARY |
UNIQUEIDENTIFIER | VARCHAR(36) |
Oracle to Snowflake
| Oracle Type | Snowflake Type |
|---|
NUMBER | NUMBER |
NUMBER(p,s) | NUMBER(p,s) |
FLOAT | FLOAT |
VARCHAR2(n), NVARCHAR2(n), CHAR(n) | VARCHAR(n) |
CLOB, NCLOB | VARCHAR |
DATE | DATE |
TIMESTAMP | TIMESTAMP_NTZ |
RAW, BLOB | BINARY |
Teradata to Snowflake
| Teradata Type | Snowflake Type |
|---|
BYTEINT, CLOB, VARBYTE | VARCHAR |
SMALLINT, INTEGER, BIGINT, NUMBER | NUMBER |
DECIMAL(p,s), NUMERIC(p,s) | NUMBER(p,s) |
FLOAT, REAL | FLOAT |
VARCHAR(n), CHAR(n) | VARCHAR(n) |
DATE | DATE |
TIME | TIME |
TIMESTAMP | TIMESTAMP_NTZ |
BYTE, BLOB | BINARY |
MySQL to Snowflake
| MySQL Type | Snowflake Type |
|---|
TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, YEAR | NUMBER |
DECIMAL(p,s) | NUMBER(p,s) |
FLOAT, DOUBLE | FLOAT |
BIT | BOOLEAN |
VARCHAR(n), CHAR(n) | VARCHAR(n) |
TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, ENUM, SET | VARCHAR |
DATE | DATE |
TIME | TIME |
DATETIME, TIMESTAMP | TIMESTAMP_NTZ |
BINARY, VARBINARY, BLOB, TINYBLOB, MEDIUMBLOB, LONGBLOB | BINARY |
JSON | VARIANT |
MariaDB to Snowflake
| MariaDB Type | Snowflake Type |
|---|
TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, YEAR | NUMBER |
DECIMAL(p,s) | NUMBER(p,s) |
FLOAT, DOUBLE | FLOAT |
BIT | BOOLEAN |
VARCHAR(n), CHAR(n) | VARCHAR(n) |
TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, ENUM, SET | VARCHAR |
DATE | DATE |
TIME | TIME |
DATETIME, TIMESTAMP | TIMESTAMP_NTZ |
BINARY, VARBINARY, BLOB, TINYBLOB, MEDIUMBLOB, LONGBLOB | BINARY |
JSON | VARIANT |
SAP HANA to Snowflake
| SAP HANA Type | Snowflake Type |
|---|
TINYINT, SMALLINT, INTEGER, BIGINT | NUMBER |
DECIMAL(p,s) | NUMBER(p,s) |
SMALLDECIMAL, CLOB, NCLOB, TEXT, SECONDDATE | VARCHAR |
REAL, DOUBLE | FLOAT |
BOOLEAN | BOOLEAN |
VARCHAR(n), NVARCHAR(n), CHAR(n), NCHAR(n) | VARCHAR(n) |
DATE | DATE |
TIME | TIME |
TIMESTAMP | TIMESTAMP_NTZ |
VARBINARY, BLOB | BINARY |
CLI Reference
Snowflake Publishing Arguments
| Option | Type | Description |
|---|
--publish_target ID | String | Credential ID for Snowflake publishing |
--publish_schema_pattern PATTERN | String | Schema naming pattern (default: EXT_{schema} for external, {schema} for internal) |
--publish_table_pattern PATTERN | String | Table naming pattern (default: {table}) |
--publish_method {external,internal} | Enum | Table type to publish (default: external) |
--no_views | Flag | Skip view creation (external tables only) |
--pk_constraints | Flag | Add PRIMARY KEY constraints (internal tables only) |
The view name prefix is hardcoded to V_ -- there is no CLI flag to change it.
Deprecated / Renamed Arguments
| Old Argument | Current Argument | Notes |
|---|
--publish | --publish_target | Removed in v0.1.12+ |
--snowflake_table_type | --publish_method {external|internal} | Renamed to the generic, cross-platform flag |
--snowflake_pk_constraints | --pk_constraints | Renamed to the generic, cross-platform flag |
--snowflake_no_views | --no_views | Renamed to the generic, cross-platform flag |
--snowflake_view_prefix | (none) | No longer configurable; view prefix is hardcoded to V_ |
See Also