Aurora PostgreSQL でのローカル書き込み転送の制限と考慮事項 - Amazon Aurora

Aurora PostgreSQL でのローカル書き込み転送の制限と考慮事項

Aurora PostgreSQL でのローカル転送には、現在、以下の制限が適用されます。

  • ローカル書き込み転送は RDS Proxy ではサポートされていません。

  • 書き込み転送機能を持つ Aurora PostgreSQL では、特定のステートメントが許可されないか、古い結果を生成する可能性があります。また、ユーザー定義関数とユーザー定義プロシージャはサポートされていません。したがって、DB クラスターでは EnableLocalWriteForwarding 設定がデフォルトではオフになっています。オンにする前に、アプリケーションコードがこれらの制限の影響を受けていないことを確認してください。

  • 書き込み転送では、次の種類の SQL ステートメントはサポートされていません。

    注記

    これらのステートメントは、アプリケーションで暗黙的に使用することも、PostgreSQL プロトコルで推測することもできます。例えば、PL/SQL 例外処理では、サポートされていないステートメントである SAVEPOINT が使用される場合があります。

    • ANALYZE

    • CLUSTER

    • COPY

    • カーソル — カーソルはサポートされていないため、ローカル書き込み転送を使用する前に必ずカーソルを閉じてください。

    • データ定義言語 (DDL) ステートメント

    • GRANT|REVOKE|REASSIGN OWNED|SECURITY LABEL

    • LISTEN / NOTIFY

    • LOCK

    • SAVEPOINT

    • SELECT INTO

    • SET CONSTRAINTS

    • シーケンスの更新: nextval()setval()

    • TRUNCATE

    • 2 相コミットコマンド: PREPARE TRANSACTIONCOMMIT PREPAREDROLLBACK PREPARED

    • ユーザー定義関数とユーザー定義プロシージャ。

    • VACUUM

書き込み転送では、以下の SQL ステートメントを使用することを検討できます。

  • DML ステートメントは、INSERT ... SELECT ステートメントや DELETE ... WHERE ステートメントなど、複数の部分から構成される場合があります。この場合、ステートメント全体がライター DB インスタンスに転送され、そこで実行されます。

  • INSERTDELETE、および UPDATE などのデータ操作言語 (DML) ステートメント。

  • このリストにあるステートメントを含む EXPLAIN ステートメント

  • PREPAREEXECUTE ステートメント。

  • SELECT FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE } ステートメント。