メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012-12-01)

実装方法が異なる機能

Amazon Redshift SQL の多くの言語要素は、対応する PostgreSQL 実装とはパフォーマンス特性が異なり、使用する構文およびセマンティクスもまったく異なるものとなっています。

重要

Amazon Redshift と PostgreSQL に含まれる共通の要素のセマンティクスは同じであるとみなさないでください。判断しかねる差異については、Amazon Redshift 開発者ガイド の「SQL コマンド」を参照して確認してください。

具体的な例として VACUUM コマンドが挙げられます。これはテーブルのクリーンアップおよび再編成に使用されます。VACUUM は PostgreSQL バージョンの場合とは機能が異なり、異なるパラメーターセットを使用します。Amazon Redshift での VACUUM の使い方の詳細については、「テーブルのバキューム処理」を参照してください。

しばしば、データベース管理機能およびツールも異なることがあります。例えば、Amazon Redshift では、システムの稼働状況に関する情報を、一連のシステムテーブルおよびビューで確認できる仕組みになっています。詳細については、「システムテーブルとビュー」を参照してください。

Amazon Redshift 独自の実装を有する SQL 機能の例を以下に示します。

  • CREATE TABLE

    Amazon Redshift では、テーブルスペース、テーブル分割、継承、および特定の制約をサポートしていません。Amazon Redshift の CREATE TABLE では、テーブルに対してソートおよび分散のアルゴリズムを定義することで、並列処理を最適化することができます。

  • ALTER TABLE

    ALTER COLUMN アクションはサポートされていません。

    ADD COLUMN の場合、各 ALTER TABLE ステートメントで 1 つの列しか追加できません。

  • COPY

    Amazon Redshift の COPY コマンドは、Amazon S3 バケットおよび Amazon DynamoDB テーブルからのデータのロードを可能にし、自動圧縮を容易にすることに特化されています。詳細については、「データのロード」セクションおよび COPY コマンドリファレンスを参照してください。

  • SELECT

    ORDER BY ... NULLS FIRST/LAST はサポートされていません。

  • INSERTUPDATE、および DELETE

    WITH はサポートされていません。

  • VACUUM

    VACUUM のパラメーターは完全に異なります。たとえば、PostgreSQL のデフォルトの VACUUM 操作は、単純に領域を再利用し、再び使用できるようにするだけです。一方で、Amazon Redshift のデフォルトの VACUUM 操作は VACUUM FULL です。これは、ディスク領域を再利用し、すべての行を再ソートします。

  • VARCHAR 値の末尾のスペースは、文字列値の比較時に無視されます。詳細については、「末尾の空白の有意性」を参照してください。