準備されたトランザクションのコンテキストではサポートされていないNOTIFYコマンドを使用する関数トリガーを呼び出す既存のデータベースコード(トリガー)に問題があります。
私の質問は単純です:関数トリガーから、準備されたトランザクションのコンテキストにあることを検出する方法はありますか?
前もって感謝します。
準備されたトランザクションのコンテキストではサポートされていないNOTIFYコマンドを使用する関数トリガーを呼び出す既存のデータベースコード(トリガー)に問題があります。
私の質問は単純です:関数トリガーから、準備されたトランザクションのコンテキストにあることを検出する方法はありますか?
前もって感謝します。
まだトランザクションを実行していないため、準備されたトランザクションと2フェーズコミットを使用して現在のトランザクションがコミットされることを検出する方法はありPREPARE
ません。トランザクションは、トリガーが実行されるまで、2フェーズコミットの対象になることを認識していません。BEGIN TRANSACTION FOR TWO PHASE COMMIT
PostgreSQLは、あなた(架空の構文)またはそのようなものを必要としません。
max_prepared_transactions
> 0をテストしてpg_settings
、準備されたトランザクションが有効になっているかどうかを確認できますが、2PCが使用されるかどうかを知る方法はありません。