以下に、準備された外部トランザクションの解決に関連する関数を示します。リゾルバワーカーは以下の関数と同様の関数を自動で実行していますが、手動で実行することも可能です。読み取り専用トランザクションでは実行できません。
デフォルトではsuperuserに制限されていますが、他のユーザーにもEXECUTEを付与して実行することができます。現在のユーザーがsuperuserでない場合、現在のユーザーが解決できる二相コミット取引のみが解決され、その他はスキップされます。FDWが postgres_scaleout_fdw でないサーバを無視します。
関数 | 戻り値の型 | 説明 |
---|---|---|
postgres_scaleout_fdw_resolve_foreign_prepared_xacts(server name) | type_resolve_foreign_prepared_xacts | 定義されたサーバで未処理の準備された外部トランザクションを解決します。ステータスがcommitか、または、postgres_scaleout_fdw.xact_commits表で見つかれば、準備されたトランザクションをコミットします。そうでなければ、準備されたトランザクションはロールバックされます。 |
列名 | データ型 | 詳細 |
---|---|---|
status | text | この準備された外部トランザクションの状態(committed/aborted) |
server | name | この準備された外部トランザクションが存在したサーバ名 |
transaction | xid | この準備された外部トランザクションのトランザクションID |
gid | text | この準備された外部トランザクションに割り当てられたグローバルトランザクションID |
prepared | timestamptz | この外部トランザクションがコミットのために準備された時間 |
owner | name | この外部トランザクションを実行したユーザー名 |
database | name | この外部トランザクションが実行されたデータベース名 |