Amazon Redshift Reference
Reference material for Amazon Redshift Publishing -- data type mappings, CLI arguments, and querying.
Data Type Mapping
Source types map automatically to Redshift-compatible types. LakeXpress exports through Parquet, so the mapping is driven by the normalized source type name.
PostgreSQL to Redshift
| PostgreSQL Type | Redshift Type |
|---|---|
SMALLINT | SMALLINT |
INTEGER, INT4 | INTEGER |
BIGINT, INT8 | BIGINT |
NUMERIC(p,s) | DECIMAL(p,s) |
REAL, FLOAT4 | REAL |
DOUBLE PRECISION, FLOAT8 | DOUBLE PRECISION |
VARCHAR(n) | VARCHAR(n) |
TEXT | VARCHAR(MAX) |
CHAR(n) | CHAR(n) |
BOOLEAN | BOOLEAN |
DATE | DATE |
TIME | VARCHAR(20) |
TIMESTAMP | TIMESTAMP |
TIMESTAMPTZ | VARCHAR(40) |
BYTEA | VARBYTE |
UUID | VARCHAR(36) |
JSON, JSONB, array [] | SUPER |
SQL Server to Redshift
| SQL Server Type | Redshift Type |
|---|---|
TINYINT, SMALLINT | SMALLINT |
INT | INTEGER |
BIGINT | BIGINT |
DECIMAL(p,s) | DECIMAL(p,s) |
MONEY | DECIMAL(19,4) |
SMALLMONEY | DECIMAL(10,4) |
FLOAT | DOUBLE PRECISION |
REAL | REAL |
BIT | BOOLEAN |
VARCHAR(n), NVARCHAR(n), NCHAR(n) | VARCHAR(n) |
CHAR(n) | CHAR(n) |
TEXT, NTEXT | VARCHAR(MAX) |
DATE | DATE |
DATETIME, DATETIME2, SMALLDATETIME | TIMESTAMP |
DATETIMEOFFSET | VARCHAR(40) |
VARBINARY | VARBYTE |
UNIQUEIDENTIFIER | VARCHAR(36) |
Oracle to Redshift
| Oracle Type | Redshift Type |
|---|---|
NUMBER | DECIMAL(38,18) |
NUMBER(p,s) | DECIMAL(p,s) |
FLOAT | DOUBLE PRECISION |
VARCHAR2(n), NVARCHAR2(n) | VARCHAR(n) |
CHAR(n) | CHAR(n) |
CLOB, NCLOB | VARCHAR(MAX) |
DATE | DATE |
TIMESTAMP | TIMESTAMP |
RAW, BLOB | VARBYTE |
Teradata to Redshift
| Teradata Type | Redshift Type |
|---|---|
BYTEINT, SMALLINT | SMALLINT |
INTEGER | INTEGER |
BIGINT | BIGINT |
DECIMAL(p,s), NUMERIC(p,s) | DECIMAL(p,s) |
NUMBER | DECIMAL(38,18) |
FLOAT, REAL | DOUBLE PRECISION |
VARCHAR(n) | VARCHAR(n) |
CHAR(n) | CHAR(n) |
CLOB | VARCHAR(MAX) |
DATE | DATE |
TIME | VARCHAR(20) |
TIMESTAMP | TIMESTAMP |
BYTE, VARBYTE, BLOB | VARBYTE |
MySQL to Redshift
| MySQL Type | Redshift Type |
|---|---|
TINYINT, SMALLINT, YEAR | SMALLINT |
MEDIUMINT, INT | INTEGER |
BIGINT | BIGINT |
DECIMAL(p,s) | DECIMAL(p,s) |
FLOAT, DOUBLE | DOUBLE PRECISION |
BIT | BOOLEAN |
VARCHAR(n) | VARCHAR(n) |
CHAR(n) | CHAR(n) |
TINYTEXT | VARCHAR(255) |
TEXT, MEDIUMTEXT, LONGTEXT | VARCHAR(MAX) |
ENUM, SET | VARCHAR(256) |
DATE | DATE |
TIME | VARCHAR(20) |
DATETIME, TIMESTAMP | TIMESTAMP |
BINARY, VARBINARY, BLOB, TINYBLOB, MEDIUMBLOB, LONGBLOB | VARBYTE |
JSON | SUPER |
MariaDB to Redshift
| MariaDB Type | Redshift Type |
|---|---|
TINYINT, SMALLINT, YEAR | SMALLINT |
MEDIUMINT, INT | INTEGER |
BIGINT | BIGINT |
DECIMAL(p,s) | DECIMAL(p,s) |
FLOAT, DOUBLE | DOUBLE PRECISION |
BIT | BOOLEAN |
VARCHAR(n) | VARCHAR(n) |
CHAR(n) | CHAR(n) |
TINYTEXT | VARCHAR(255) |
TEXT, MEDIUMTEXT, LONGTEXT | VARCHAR(MAX) |
ENUM, SET | VARCHAR(256) |
DATE | DATE |
TIME | VARCHAR(20) |
DATETIME, TIMESTAMP | TIMESTAMP |
BINARY, VARBINARY, BLOB, TINYBLOB, MEDIUMBLOB, LONGBLOB | VARBYTE |
JSON | SUPER |
SAP HANA to Redshift
| SAP HANA Type | Redshift Type |
|---|---|
TINYINT, SMALLINT | SMALLINT |
INTEGER | INTEGER |
BIGINT | BIGINT |
DECIMAL(p,s) | DECIMAL(p,s) |
SMALLDECIMAL | DECIMAL(38,18) |
REAL | REAL |
DOUBLE | DOUBLE PRECISION |
BOOLEAN | BOOLEAN |
VARCHAR(n), NVARCHAR(n), NCHAR(n) | VARCHAR(n) |
CHAR(n) | CHAR(n) |
CLOB, NCLOB, TEXT | VARCHAR(MAX) |
DATE | DATE |
TIME | VARCHAR(20) |
TIMESTAMP, SECONDDATE | TIMESTAMP |
VARBINARY, BLOB | VARBYTE |
Note: Decimal precision mapping is identical for both table types -- internal (
CREATE TABLE+COPY) and external (CREATE EXTERNAL TABLE) DDL both resolve every column through the same mapper, so both preserve the source's original precision and scale (e.g.DECIMAL(12,2)).DECIMAL(38,18)is only used as a fallback when the source doesn't report precision at all (e.g. a bare Oracle/TeradataNUMBERwith no declared(p,s), or SAP HANASMALLDECIMAL). Also, Redshift Spectrum has no nativeTIME,TIMETZ, orTIMESTAMPTZtypes, so source columns of those types are mapped toVARCHAR(VARCHAR(20)for time-only values,VARCHAR(40)for timezone-aware timestamps).
CLI Reference
Redshift Publishing Arguments
| Option | Type | Description |
|---|---|---|
--publish_target ID | String | Credential ID for Redshift publishing (required) |
--publish_method internal|external | String | Table type: native Redshift table (internal) or Spectrum external table (external) |
--publish_schema_pattern PATTERN | String | Schema naming pattern (default: {schema}) |
--publish_table_pattern PATTERN | String | Table naming pattern (default: {table}) |
--sub_path PATH | String | Value substituted for the {subpath} naming token |
--pk_constraints | Flag | Add informational PRIMARY KEY constraints (internal tables only) |
--n_jobs N | Integer | Parallel workers for table creation (default: 1) |
Querying Redshift Tables
Internal table:
SELECT * FROM int_mydata_20260730.customer LIMIT 10;
External table (Spectrum):
SELECT * FROM ext_mydata_20260730.customer LIMIT 10;
See Also
- Amazon Redshift Publishing - Setup and usage guide
- CLI Reference - All command-line options
- Storage Configuration: S3 - S3 credential setup