Amazon Redshift 与支持的 PostgreSQL 和 MySQL 数据库之间的数据类型差异
下表显示 Amazon Redshift 数据类型与相应 Amazon RDS PostgreSQL 或 Aurora PostgreSQL 数据类型的映射。
Amazon Redshift 数据类型 | RDS PostgreSQL 或 Aurora PostgreSQL 数据类型 | 描述 |
---|---|---|
SMALLINT | SMALLINT | 有符号的二字节整数 |
INTEGER | INTEGER | 有符号的四字节整数 |
BIGINT | BIGINT | 有符号的八字节整数 |
DECIMAL | DECIMAL | 可选精度的精确数字 |
REAL | REAL | 单精度浮点数 |
DOUBLE PRECISION | DOUBLE PRECISION | 双精度浮点数 |
BOOLEAN | BOOLEAN | 逻辑布尔值 (true/false) |
CHAR | CHAR | 固定长度字符串 |
VARCHAR | VARCHAR | 具有用户定义的限制的可变长度字符串, |
DATE | DATE | 日历日期(年、月、日) |
TIMESTAMP | TIMESTAMP | 日期和时间(没有时区) |
TIMESTAMPTZ | TIMESTAMPTZ | 日期和时间(有时区) |
GEOMETRY | PostGIS GEOMETRY | 空间数据 |
在 Amazon Redshift 中,以下 RDS PostgreSQL 和 Aurora PostgreSQL 数据类型将转换为 VARCHAR(64K):
JSON、JSONB
数组
BIT、BIT VARYING
BYTEA
复合类型
日期和时间类型 INTERVAL、TIME、TIME WITH TIMEZONE
枚举类型
货币类型
网络地址类型
数字类型 SERIAL、BIGSERIAL、SMALLSERIAL 和 MONEY
对象标识符类型
pg_lsn 类型
伪类型
范围类型
文本搜索类型
TXID_SNAPSHOT
UUID
XML 类型
下表显示 Amazon Redshift 数据类型与相应 Amazon RDS MySQL 或 Aurora MySQL 数据类型的映射。
Amazon Redshift 数据类型 | RDS MySQL 或 Aurora MySQL 数据类型 | 描述 |
---|---|---|
BOOLEAN | TINYINT(1) | 逻辑布尔值(true 或 false) |
SMALLINT | TINYINT(UNSIGNED) | 有符号的二字节整数 |
SMALLINT | SMALLINT | 有符号的二字节整数 |
INTEGER | SMALLINT UNSIGNED | 有符号的四字节整数 |
INTEGER | MEDIUMINT (UNSIGNED) | 有符号的四字节整数 |
INTEGER | INT | 有符号的四字节整数 |
BIGINT | INT UNSIGNED | 有符号的八字节整数 |
BIGINT | BIGINT | 有符号的八字节整数 |
DECIMAL | BIGINT UNSIGNED | 可选精度的精确数字 |
DECIMAL | DECIMAL(M,D) | 可选精度的精确数字 |
REAL | FLOAT | 单精度浮点数 |
DOUBLE PRECISION | DOUBLE | 双精度浮点数 |
CHAR | CHAR | 固定长度字符串 |
VARCHAR | VARCHAR | 具有用户定义的限制的可变长度字符串, |
DATE | DATE | 日历日期(年、月、日) |
TIME | TIME | 时间(没有时区) |
TIMESTAMP | TIMESTAMP | 日期和时间(没有时区) |
TIMESTAMP | DATETIME | 时间(没有时区) |
VARCHAR(4) | YEAR | 表示年份的可变长度字符 |
当时间数据超出 (00:00:00 – 24:00:00) 范围时会出错。
在 Amazon Redshift 中,以下 RDS MySQL 和 Aurora MySQL 数据类型将转换为 VARCHAR(64K):
BIT
BINARY
VARBINARY
TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB
TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT
ENUM
SET
SPATIAL