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を使用します。Postgres は、タイムゾーンに対応したすべての日付と時刻を内部的に UTC に保存します。TimeZone設定パラメータを設定して、クライアントへの表示方法を変換し、サーバーが内部的に UTC に変換するために使用するクライアント入力のデフォルトとして機能させることができます。 -
トランザクション分離レベルは 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 をサポートしていません。