以不同方式建置的功能 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

以不同方式建置的功能

許多 Amazon Redshift SQL 語言元素具有不同的效能特性,並使用語法和語法,與等效 PostgreSQL 實作非常不同。

重要

請勿假設 Amazon Redshift 和 PostgreSQL 共通的元素具有相同的語意。務必參考Amazon Redshift 開發人員指南 SQL 命令來理解細微的差異。

一個特別的例子是 VACUUM 命令,這是用來清理和重整資料表。VACUUM 具有不同的功能,而且使用與 PostgreSQL 版本不同的一組參數。請參閱清空資料表,獲取如何在 Amazon Redshift 中使用 VACUUM 的詳細資訊。

資料庫管理的功能和工具也經常有所不同。例如,Amazon Redshift 會維持一組系統資料表和視圖,這些資料表和視圖提供關於系統運作狀況的資訊。如需詳細資訊,請參閱 系統資料表和檢視

下列清單包含了一些 SQL 功能的示例,這些功能在 Amazon Redshift 中以不同的方式建置。

  • 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 值中多餘的空格。如需詳細資訊,請參閱 多餘空格的意義