

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# Amazon Redshift 与支持的 PostgreSQL 和 MySQL 数据库之间的数据类型差异
<a name="federated-data-types"></a>

下表显示 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