以不同方式实施的功能 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

以不同方式实施的功能

许多 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 实现使您能够为表定义排序和分配算法以优化并行处理。

    Amazon Redshift Spectrum 支持使用 CREATE EXTERNAL TABLE 命令的表分区。

  • 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 值的尾部空格。有关更多信息,请参阅尾部空格的意义