Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

实现方式不同的功能

许多 Amazon Redshift SQL 语言元素都具有不同的性能特征和使用语法以及语义,并且等效的 PostgreSQL 实施有很大不同。

重要

请勿假设 Amazon Redshift 和 PostgreSQL 共同具有的元素的语义是相同的。确保查阅 Amazon Redshift 开发人员指南SQL 命令以了解常有的细小差异。

一个具体的示例是 VACUUM 命令,该命令用于清理和重新组织表。VACUUM 具有不同的功能,并且使用的参数组不同于 PostgreSQL 版本。有关在 Amazon Redshift 中使用 VACUUM 的更多信息,请参阅 对表执行 vacuum 操作

通常,数据库管理功能和工具也不相同。例如,Amazon Redshift 维护一组提供有关系统运行方式的信息的系统表和视图。参阅 系统表和视图 了解更多信息。

以下列表包含 Amazon Redshift 中的实现方式不同的 SQL 功能的一些示例。

  • CREATE TABLE

    Amazon Redshift 不支持表空间、表分区、继承和某些约束。CREATE TABLE 的 Amazon Redshift 实现使您能够为表定义排序和分配算法以优化并行处理。

  • ALTER TABLE

    不支持 ALTER COLUMN 操作。

    ADD COLUMN 支持在每个 ALTER TABLE 语句中仅添加一列。

  • COPY

    Amazon Redshift COPY 命令专门用于支持从 Amazon S3 存储桶和 Amazon DynamoDB 表加载数据以及方便自动压缩。有关详细信息,请参阅加载数据部分和 COPY 命令参考。

  • INSERTUPDATEDELETE

    不支持 WITH。

  • VACUUM

    VACUUM 的参数完全不同。例如,PostgreSQL 中的默认 VACUUM 操作只是回收空间并使空间可供重复使用;但是,Amazon Redshift 中的默认 VACUUM 操作为 VACUUM FULL,可回收磁盘空间并对所有行重新排序。

  • 在比较字符串值时,会忽略 VARCHAR 值的尾部空格。有关更多信息,请参阅 尾部空格的意义