Skip to main content
Version: 0.4 (Latest)

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 TypeRedshift Type
SMALLINTSMALLINT
INTEGER, INT4INTEGER
BIGINT, INT8BIGINT
NUMERIC(p,s)DECIMAL(p,s)
REAL, FLOAT4REAL
DOUBLE PRECISION, FLOAT8DOUBLE PRECISION
VARCHAR(n)VARCHAR(n)
TEXTVARCHAR(MAX)
CHAR(n)CHAR(n)
BOOLEANBOOLEAN
DATEDATE
TIMEVARCHAR(20)
TIMESTAMPTIMESTAMP
TIMESTAMPTZVARCHAR(40)
BYTEAVARBYTE
UUIDVARCHAR(36)
JSON, JSONB, array []SUPER

SQL Server to Redshift

SQL Server TypeRedshift Type
TINYINT, SMALLINTSMALLINT
INTINTEGER
BIGINTBIGINT
DECIMAL(p,s)DECIMAL(p,s)
MONEYDECIMAL(19,4)
SMALLMONEYDECIMAL(10,4)
FLOATDOUBLE PRECISION
REALREAL
BITBOOLEAN
VARCHAR(n), NVARCHAR(n), NCHAR(n)VARCHAR(n)
CHAR(n)CHAR(n)
TEXT, NTEXTVARCHAR(MAX)
DATEDATE
DATETIME, DATETIME2, SMALLDATETIMETIMESTAMP
DATETIMEOFFSETVARCHAR(40)
VARBINARYVARBYTE
UNIQUEIDENTIFIERVARCHAR(36)

Oracle to Redshift

Oracle TypeRedshift Type
NUMBERDECIMAL(38,18)
NUMBER(p,s)DECIMAL(p,s)
FLOATDOUBLE PRECISION
VARCHAR2(n), NVARCHAR2(n)VARCHAR(n)
CHAR(n)CHAR(n)
CLOB, NCLOBVARCHAR(MAX)
DATEDATE
TIMESTAMPTIMESTAMP
RAW, BLOBVARBYTE

Teradata to Redshift

Teradata TypeRedshift Type
BYTEINT, SMALLINTSMALLINT
INTEGERINTEGER
BIGINTBIGINT
DECIMAL(p,s), NUMERIC(p,s)DECIMAL(p,s)
NUMBERDECIMAL(38,18)
FLOAT, REALDOUBLE PRECISION
VARCHAR(n)VARCHAR(n)
CHAR(n)CHAR(n)
CLOBVARCHAR(MAX)
DATEDATE
TIMEVARCHAR(20)
TIMESTAMPTIMESTAMP
BYTE, VARBYTE, BLOBVARBYTE

MySQL to Redshift

MySQL TypeRedshift Type
TINYINT, SMALLINT, YEARSMALLINT
MEDIUMINT, INTINTEGER
BIGINTBIGINT
DECIMAL(p,s)DECIMAL(p,s)
FLOAT, DOUBLEDOUBLE PRECISION
BITBOOLEAN
VARCHAR(n)VARCHAR(n)
CHAR(n)CHAR(n)
TINYTEXTVARCHAR(255)
TEXT, MEDIUMTEXT, LONGTEXTVARCHAR(MAX)
ENUM, SETVARCHAR(256)
DATEDATE
TIMEVARCHAR(20)
DATETIME, TIMESTAMPTIMESTAMP
BINARY, VARBINARY, BLOB, TINYBLOB, MEDIUMBLOB, LONGBLOBVARBYTE
JSONSUPER

MariaDB to Redshift

MariaDB TypeRedshift Type
TINYINT, SMALLINT, YEARSMALLINT
MEDIUMINT, INTINTEGER
BIGINTBIGINT
DECIMAL(p,s)DECIMAL(p,s)
FLOAT, DOUBLEDOUBLE PRECISION
BITBOOLEAN
VARCHAR(n)VARCHAR(n)
CHAR(n)CHAR(n)
TINYTEXTVARCHAR(255)
TEXT, MEDIUMTEXT, LONGTEXTVARCHAR(MAX)
ENUM, SETVARCHAR(256)
DATEDATE
TIMEVARCHAR(20)
DATETIME, TIMESTAMPTIMESTAMP
BINARY, VARBINARY, BLOB, TINYBLOB, MEDIUMBLOB, LONGBLOBVARBYTE
JSONSUPER

SAP HANA to Redshift

SAP HANA TypeRedshift Type
TINYINT, SMALLINTSMALLINT
INTEGERINTEGER
BIGINTBIGINT
DECIMAL(p,s)DECIMAL(p,s)
SMALLDECIMALDECIMAL(38,18)
REALREAL
DOUBLEDOUBLE PRECISION
BOOLEANBOOLEAN
VARCHAR(n), NVARCHAR(n), NCHAR(n)VARCHAR(n)
CHAR(n)CHAR(n)
CLOB, NCLOB, TEXTVARCHAR(MAX)
DATEDATE
TIMEVARCHAR(20)
TIMESTAMP, SECONDDATETIMESTAMP
VARBINARY, BLOBVARBYTE

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/Teradata NUMBER with no declared (p,s), or SAP HANA SMALLDECIMAL). Also, Redshift Spectrum has no native TIME, TIMETZ, or TIMESTAMPTZ types, so source columns of those types are mapped to VARCHAR (VARCHAR(20) for time-only values, VARCHAR(40) for timezone-aware timestamps).

CLI Reference

Redshift Publishing Arguments

OptionTypeDescription
--publish_target IDStringCredential ID for Redshift publishing (required)
--publish_method internal|externalStringTable type: native Redshift table (internal) or Spectrum external table (external)
--publish_schema_pattern PATTERNStringSchema naming pattern (default: {schema})
--publish_table_pattern PATTERNStringTable naming pattern (default: {table})
--sub_path PATHStringValue substituted for the {subpath} naming token
--pk_constraintsFlagAdd informational PRIMARY KEY constraints (internal tables only)
--n_jobs NIntegerParallel 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

Copyright © 2026 Architecture & Performance.