Amazon Redshift 与支持的 PostgreSQL 和 MySQL 数据库之间的数据类型差异 - Amazon Redshift

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