Aurora DSQL でサポートされていない PostgreSQL 機能
Aurora DSQL は PostgreSQL と互換性があります。つまり、Aurora DSQL は ACID トランザクション、セカンダリインデックス、結合、挿入、更新などのコアリレーショナル機能をサポートしています。サポートされている SQL 機能の概要については、「Supported SQL expressions」を参照してください。
以下のセクションでは、Aurora DSQL で現在サポートされていない PostgreSQL 機能について説明します。
サポートされていないオブジェクト
Aurora DSQL でサポートされていないオブジェクトは次のとおりです。
-
単一の Aurora DSQL クラスター上の複数のデータベース
-
一時テーブル
-
トリガー
-
型 (部分的なサポート)
-
テーブルスペース
-
SQL 以外の言語で記述された関数
-
シーケンス
-
パーティション
サポートされていない制約
-
外部キー
-
排他制約
サポートされていないコマンド
-
ALTER SYSTEM
-
TRUNCATE
-
SAVEPOINT
-
VACUUM
注記
Aurora DSQL はバキューム処理を必要としません。システムは統計を維持し、手動バキュームコマンドを使用せずにストレージの最適化を自動的に管理します。
サポートされていない拡張機能
Aurora DSQL は PostgreSQL 拡張機能をサポートしていません。以下の表は、サポートされていない拡張機能を示しています。
-
PL/pgSQL
-
PostGIS
-
PGVector
-
PGAudit
-
Postgres_FDW
-
PGCron
-
pg_stat_statements
サポートされていない SQL 式
次の表は、Aurora DSQL でサポートされていない句を示しています。
カテゴリ | プライマリ句 | サポートされていない句 |
---|---|---|
|
|
|
|
|
|
|
||
|
|
すべての |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
追加のデータベースを作成することはできません。 |
1 指定したテーブルの列にインデックスを作成するには、「Aurora DSQL の非同期インデックス」を参照してください。
PostgreSQL 互換性に関する Aurora DSQL の考慮事項
Aurora DSQL を使用する場合は、次の互換性の制限を考慮してください。一般的な考慮事項については、「Amazon Aurora DSQL の使用に関する考慮事項」を参照してください。クォータと制限については、「Amazon Aurora DSQL のクラスタークォータとデータベース制限」を参照してください。
-
Aurora DSQL は、
postgres
という名前の単一の組み込みデータベースを使用します。追加のデータベースを作成することや、postgres
データベースを名前変更、削除することはできません。 -
postgres
データベースは UTF-8 文字エンコードを使用します。エンコードを変更することはできません。 -
データベースは
C
のみを使用します。 -
Aurora DSQL はシステムのタイムゾーンに
UTC
を使用します。パラメータまたはSET TIMEZONE
などの SQL ステートメントを使用してタイムゾーンを変更することはできません。 -
トランザクション分離レベルは PostgreSQL
Repeatable Read
で固定されています。 -
トランザクションには次の制約があります。
-
トランザクションでは DDL オペレーションと DML オペレーションを混在させることはできません。
-
トランザクションに含めることができる DDL ステートメントは 1 つのみです。
-
トランザクションは、セカンダリインデックスの数に関係なく、3,000 行まで変更できます。
-
3,000 行の制限は、すべての DML ステートメント (
INSERT
、UPDATE
、DELETE
) に適用されます。
-
-
データベース接続は 1 時間後にタイムアウトします。
-
Aurora DSQL では現在、
GRANT [permission] ON DATABASE
を実行できません。そのステートメントを実行しようとすると、Aurora DSQL はエラーメッセージERROR: unsupported object type in GRANT
を返します。 -
Aurora DSQL は、管理者以外のユーザーロールに
CREATE SCHEMA
コマンドの実行を許可しません。GRANT [permission] on DATABASE
コマンドを実行して、データベースに対するCREATE
アクセス許可を付与することはできません。管理者以外のユーザーロールがスキーマを作成しようとすると、Aurora DSQL はエラーメッセージERROR: permission denied for database postgres
を返します。 -
管理者以外のユーザーは、パブリックスキーマにオブジェクトを作成できません。パブリックスキーマにオブジェクトを作成できるのは、管理者ユーザーのみです。管理者ユーザーロールには、これらのオブジェクトへの読み取り、書き込み、変更のアクセス許可を管理者以外のユーザーに付与する権限がありますが、パブリックスキーマ自体に
CREATE
アクセス許可を付与することはできません。管理者以外のユーザーは、オブジェクトの作成に、ユーザーが作成した別のスキーマを使用する必要があります。 -
Aurora DSQL は
ALTER ROLE [] CONNECTION LIMIT
コマンドをサポートしていません。接続制限の引き上げが必要な場合は、AWS サポートにお問い合わせください。 -
Aurora DSQL は、Python 用の非同期 PostgreSQL データベースドライバーである asyncpg をサポートしていません。