From 8e9db4591674f51a36ef80d73259bce421ee64a8 Mon Sep 17 00:00:00 2001 From: Noboru Saito Date: Sat, 18 Jul 2026 11:31:13 +0900 Subject: [PATCH 1/2] =?UTF-8?q?Prepared=20transaction=E3=82=92=E3=83=97?= =?UTF-8?q?=E3=83=AA=E3=83=9A=E3=82=A2=E3=83=89=E3=83=88=E3=83=A9=E3=83=B3?= =?UTF-8?q?=E3=82=B6=E3=82=AF=E3=82=B7=E3=83=A7=E3=83=B3=E3=81=AB=E7=B5=B1?= =?UTF-8?q?=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - #2490の対応です。 - prepared statementの方は別に出す予定です。 --- doc/src/sgml/config.sgml | 6 +++--- doc/src/sgml/config3.sgml | 6 +++--- doc/src/sgml/func.sgml | 2 +- doc/src/sgml/func4.sgml | 2 +- doc/src/sgml/high-availability.sgml | 8 ++++---- doc/src/sgml/logicaldecoding.sgml | 24 +++++++++++------------ doc/src/sgml/ref/alter_subscription.sgml | 2 +- doc/src/sgml/ref/commit_prepared.sgml | 10 +++++----- doc/src/sgml/ref/create_role.sgml | 2 +- doc/src/sgml/ref/pg_createsubscriber.sgml | 2 +- doc/src/sgml/ref/prepare_transaction.sgml | 12 ++++++------ doc/src/sgml/ref/rollback_prepared.sgml | 10 +++++----- doc/src/sgml/system-views.sgml | 4 ++-- doc/src/sgml/xact.sgml | 8 ++++---- 14 files changed, 49 insertions(+), 49 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 54847b941d1..5e80c581759 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -15367,7 +15367,7 @@ PostgreSQLはoriginlocalの設定を内 -準備されたトランザクションには、このタイムアウトは影響ありません。 +プリペアドトランザクションには、このタイムアウトは影響ありません。 @@ -16897,7 +16897,7 @@ GINインデックススキャンにより返されるセットのソフトな tables in a single transaction, e.g., query of a parent table with many children. This parameter can only be set at server start. --> -共有ロックテーブルは、プロセスごと、あるいは準備されたトランザクションごとのmax_locks_per_transactionオブジェクト(たとえばテーブル)空間を持っています。 +共有ロックテーブルは、プロセスごと、あるいはプリペアドトランザクションごとのmax_locks_per_transactionオブジェクト(たとえばテーブル)空間を持っています。 したがって、ある時点でこの数以上の個々のオブジェクトをロックすることはできません。 このパラメータは各トランザクションで使用するオブジェクトロックの平均値を制限します。 個々のトランザクションでは、このロックテーブルにすべてのトランザクションのロックが収まる限りオブジェクトのロックを獲得できます。 @@ -16943,7 +16943,7 @@ GINインデックススキャンにより返されるセットのソフトな tables in a single serializable transaction. This parameter can only be set at server start. --> -共有述語ロックテーブルは、プロセスごと、あるいは準備されたトランザクションごとのmax_pred_locks_per_transactionオブジェクト(たとえばテーブル)空間を持っています。 +共有述語ロックテーブルは、プロセスごと、あるいはプリペアドトランザクションごとのmax_pred_locks_per_transactionオブジェクト(たとえばテーブル)空間を持っています。 したがって、ある時点でこの数以上の個々のオブジェクトをロックすることはできません。 このパラメータは各トランザクションで使用するオブジェクトロックの平均値を制限します。 個々のトランザクションでは、このロックテーブルにすべてのトランザクションのロックが収まる限りオブジェクトのロックを獲得できます。 diff --git a/doc/src/sgml/config3.sgml b/doc/src/sgml/config3.sgml index 854ca18cb99..23bbfa76375 100644 --- a/doc/src/sgml/config3.sgml +++ b/doc/src/sgml/config3.sgml @@ -352,7 +352,7 @@ PostgreSQLはoriginlocalの設定を内 -準備されたトランザクションには、このタイムアウトは影響ありません。 +プリペアドトランザクションには、このタイムアウトは影響ありません。 @@ -1882,7 +1882,7 @@ GINインデックススキャンにより返されるセットのソフトな tables in a single transaction, e.g., query of a parent table with many children. This parameter can only be set at server start. --> -共有ロックテーブルは、プロセスごと、あるいは準備されたトランザクションごとのmax_locks_per_transactionオブジェクト(たとえばテーブル)空間を持っています。 +共有ロックテーブルは、プロセスごと、あるいはプリペアドトランザクションごとのmax_locks_per_transactionオブジェクト(たとえばテーブル)空間を持っています。 したがって、ある時点でこの数以上の個々のオブジェクトをロックすることはできません。 このパラメータは各トランザクションで使用するオブジェクトロックの平均値を制限します。 個々のトランザクションでは、このロックテーブルにすべてのトランザクションのロックが収まる限りオブジェクトのロックを獲得できます。 @@ -1928,7 +1928,7 @@ GINインデックススキャンにより返されるセットのソフトな tables in a single serializable transaction. This parameter can only be set at server start. --> -共有述語ロックテーブルは、プロセスごと、あるいは準備されたトランザクションごとのmax_pred_locks_per_transactionオブジェクト(たとえばテーブル)空間を持っています。 +共有述語ロックテーブルは、プロセスごと、あるいはプリペアドトランザクションごとのmax_pred_locks_per_transactionオブジェクト(たとえばテーブル)空間を持っています。 したがって、ある時点でこの数以上の個々のオブジェクトをロックすることはできません。 このパラメータは各トランザクションで使用するオブジェクトロックの平均値を制限します。 個々のトランザクションでは、このロックテーブルにすべてのトランザクションのロックが収まる限りオブジェクトのロックを獲得できます。 diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 4e16ff2431b..b6c05e33c71 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -38920,7 +38920,7 @@ bgwriterやcheckpointerがログするのを待たずに、実行中のトラン 出力プラグインpluginを使ってslot_nameという名前の新しい論理(デコーディング)レプリケーションスロットを作ります。 3番目のオプションパラメータtemporaryをtrueに設定すると、このスロットを永続的にディスクに保存するべきではなく、現在のセッションでのみ使われることを意図します。 また、一時スロットはエラーが起きると解放されます。 -オプションの4つ目の引数twophaseがtrueならば、準備されたトランザクションのデコードがこのスロットで可能になります。 +オプションの4つ目の引数twophaseがtrueならば、プリペアドトランザクションのデコードがこのスロットで可能になります。 オプションの5番目の引数failoverがtrueならば、このスロットがスタンバイに同期化できるようになり、フェイルオーバー後に論理レプリケーションを再開できるようになります。 この関数の呼び出しはレプリケーションプロトコルコマンドのCREATE_REPLICATION_SLOT ... LOGICALと同じ効果があります。 diff --git a/doc/src/sgml/func4.sgml b/doc/src/sgml/func4.sgml index 0e88249fa12..cc921091af0 100644 --- a/doc/src/sgml/func4.sgml +++ b/doc/src/sgml/func4.sgml @@ -7939,7 +7939,7 @@ bgwriterやcheckpointerがログするのを待たずに、実行中のトラン 出力プラグインpluginを使ってslot_nameという名前の新しい論理(デコーディング)レプリケーションスロットを作ります。 3番目のオプションパラメータtemporaryをtrueに設定すると、このスロットを永続的にディスクに保存するべきではなく、現在のセッションでのみ使われることを意図します。 また、一時スロットはエラーが起きると解放されます。 -オプションの4つ目の引数twophaseがtrueならば、準備されたトランザクションのデコードがこのスロットで可能になります。 +オプションの4つ目の引数twophaseがtrueならば、プリペアドトランザクションのデコードがこのスロットで可能になります。 オプションの5番目の引数failoverがtrueならば、このスロットがスタンバイに同期化できるようになり、フェイルオーバー後に論理レプリケーションを再開できるようになります。 この関数の呼び出しはレプリケーションプロトコルコマンドのCREATE_REPLICATION_SLOT ... LOGICALと同じ効果があります。 diff --git a/doc/src/sgml/high-availability.sgml b/doc/src/sgml/high-availability.sgml index 1d1d93e303e..6688f75a6cf 100644 --- a/doc/src/sgml/high-availability.sgml +++ b/doc/src/sgml/high-availability.sgml @@ -3242,9 +3242,9 @@ LOG: database system is ready to accept read-only connections transactions, then recovery could not continue until the standby's configuration is changed. The parameters affected are: --> -いくつかのパラメータの設定により、トランザクションID、ロック、準備されたトランザクションを追跡するための共有メモリのサイズが決まります。 +いくつかのパラメータの設定により、トランザクションID、ロック、プリペアドトランザクションを追跡するための共有メモリのサイズが決まります。 リカバリ中に共有メモリを使い尽くすことがないことを確実にするために、スタンバイサーバにおける設定値は、プライマリサーバにおける設定値以上でなければなりません。 -たとえばプライマリが準備されたトランザクションを実行していてスタンバイが準備されたトランザクションを追跡するための共有メモリを獲得していなければ、スタンバイは設定が変更されるまではリカバリを続けることができません。 +たとえばプライマリがプリペアドトランザクションを実行していてスタンバイがプリペアドトランザクションを追跡するための共有メモリを獲得していなければ、スタンバイは設定が変更されるまではリカバリを続けることができません。 影響があるパラメータは以下です。 @@ -3437,7 +3437,7 @@ HINT: You can then restart the server after making the necessary configuration pg_cancel_backend()pg_terminate_backend()はユーザを扱うバックエンドでは実行できますが、リカバリを実行する起動プロセスでは実行できません。 pg_stat_activityはリカバリ中のトランザクションをアクティブとして表示しません。 その結果、リカバリの間pg_prepared_xactsは常に空となります。 -調査が必要な準備されたトランザクションがある場合は、プライマリサーバにおいてpg_prepared_xactsを表示し、その場でトランザクションを解決するか、リカバリが終わるのを待ってからトランザクションを解決します。 +調査が必要なプリペアドトランザクションがある場合は、プライマリサーバにおいてpg_prepared_xactsを表示し、その場でトランザクションを解決するか、リカバリが終わるのを待ってからトランザクションを解決します。 @@ -3731,7 +3731,7 @@ WALの再実行はトリガに基づいたものではありません。 the primary server. You need not consider this at all if your setting of max_prepared_transactions is 0. --> -リカバリの終了において、準備されたトランザクションが保持するAccessExclusiveLocksには、通常の2倍のロックテーブルへのエントリ数が必要です。 +リカバリの終了において、プリペアドトランザクションが保持するAccessExclusiveLocksには、通常の2倍のロックテーブルへのエントリ数が必要です。 通常AccessExclusiveLocksを取るプリペアドトランザクションを大量に同時実行させる、または、多くのAccessExclusiveLocksを取る大規模なトランザクションを1つ実行させることを考えている場合、max_locks_per_transactionの値を、おそらくプライマリサーバのパラメータ値の倍程度に大きくすることを勧めます。 max_prepared_transactionsの設定が0ならば、これを検討する必要はまったくありません。 diff --git a/doc/src/sgml/logicaldecoding.sgml b/doc/src/sgml/logicaldecoding.sgml index 899c2c67ee1..ccf0c732ce9 100644 --- a/doc/src/sgml/logicaldecoding.sgml +++ b/doc/src/sgml/logicaldecoding.sgml @@ -243,7 +243,7 @@ $ pg_recvlogical -d postgres --slot=test --drop-slot Note that we will stream the entire transaction after the commit if it is not already decoded. --> -以下の例では、準備されたトランザクションのデコードに使用できるSQLインタフェースを示します。 +以下の例では、プリペアドトランザクションのデコードに使用できるSQLインタフェースを示します。 2相コミットコマンドを使用する前に、max_prepared_transactionsを少なくとも1に設定しなければなりません。 pg_create_logical_replication_slotを使用してスロットを作成する際に、2相パラメータを'true'に設定しておく必要もあります。 トランザクションがまだデコードされていない場合は、コミット後にトランザクション全体をストリームすることに注意してください。 @@ -269,7 +269,7 @@ postgres=# select * from pg_logical_slot_get_changes('regression_slot', NULL, NU (4 row) postgres=#-- you can also rollback a prepared transaction -postgres=#-- 準備されたトランザクションをロールバックすることもできます +postgres=#-- プリペアドトランザクションをロールバックすることもできます postgres=# BEGIN; postgres=*# INSERT INTO data(data) VALUES('6'); postgres=*# PREPARE TRANSACTION 'test_prepared2'; @@ -1027,7 +1027,7 @@ SQLで変更データを見るような場合、任意のかたちでデータ 指定したトランザクションに含まれる更新だけがbegincommitの間のコールバックによってデコードされます。 明示的あるいは暗黙的にロールバックされたトランザクションは、決してデコードされません。 成功したセーブポイントは、実行された順番にセーブポイントが実行されたトランザクションの中に折り込まれます。 -PREPARE TRANSACTIONを使用して2相コミット用に準備されたトランザクションも、デコードに必要な出力プラグインコールバックが提供されていればデコードされます。 +PREPARE TRANSACTIONを使用して2相コミット用にプリペアドトランザクションも、デコードに必要な出力プラグインコールバックが提供されていればデコードされます。 ROLLBACK PREPAREDコマンドを使用して、現在準備されているトランザクションが同時にアボートされる可能性があります。 その場合、このトランザクションのロジカルデコーディングもアボートされます。 そのようなトランザクションのすべての変更は、アボートが検出され、prepare_cbコールバックが呼び出されるとスキップされます。 @@ -1444,7 +1444,7 @@ typedef bool (*LogicalDecodeFilterPrepareCB) (struct LogicalDecodingContext *ctx in which case it can either error out or skip the remaining changes of the transaction. --> -必須であるbegin_prepare_cbコールバックは、準備されたトランザクションの開始がデコードされるたびに呼び出されます。 +必須であるbegin_prepare_cbコールバックは、プリペアドトランザクションの開始がデコードされるたびに呼び出されます。 txnパラメータの一部であるgidフィールドをこのコールバックで使用して、プラグインがこのPREPAREを既に受信しているかどうかをチェックできます。 この場合、エラーになるか、トランザクションの残りの変更をスキップできます。 @@ -1469,7 +1469,7 @@ typedef void (*LogicalDecodeBeginPrepareCB) (struct LogicalDecodingContext *ctx, rows. The gid field, which is part of the txn parameter, can be used in this callback. --> -必須であるprepare_cbコールバックは、2相コミット用に準備されたトランザクションがデコードされるたびに呼び出されます。 +必須であるprepare_cbコールバックは、2相コミット用にプリペアドトランザクションがデコードされるたびに呼び出されます。 修正された行がある場合、すべての修正された行に対するchange_cbコールバックはこの前に呼び出されています。 txnパラメータの一部であるgidフィールドは、このコールバックで使用できます。 @@ -1528,7 +1528,7 @@ typedef void (*LogicalDecodeCommitPreparedCB) (struct LogicalDecodingContext *ct この場合、プラグインはロールバックを適用できます。 そうでない場合は、ロールバック操作をスキップできます。 gidだけでは十分ではありません。 -なぜなら、下流ノードは同じ識別子を持つ準備されたトランザクションを持つことができるからです。 +なぜなら、下流ノードは同じ識別子を持つプリペアドトランザクションを持つことができるからです。 typedef void (*LogicalDecodeRollbackPreparedCB) (struct LogicalDecodingContext *ctx, ReorderBufferTXN *txn, @@ -2109,7 +2109,7 @@ commit_prepared_cb(...); <-- commit of the prepared transaction --> 2相コミットコマンドをデコードするための出力プラグインコールバックが提供されている場合、PREPARE TRANSACTIONで、そのトランザクションの変更がデコードされ、出力プラグインに渡され、prepare_cbコールバックが呼び出されます。 これは、トランザクションがコミットされたときにのみ変更が出力プラグインに渡される基本的なデコード設定とは異なります。 -準備されたトランザクションの開始は、begin_prepare_cbコールバックによって示されます。 +プリペアドトランザクションの開始は、begin_prepare_cbコールバックによって示されます。 @@ -2120,8 +2120,8 @@ commit_prepared_cb(...); <-- commit of the prepared transaction prepared transaction is committed using COMMIT PREPARED, then the commit_prepared_cb callback is invoked. --> -準備されたトランザクションがROLLBACK PREPAREDを使用してロールバックされると、rollback_prepared_cbコールバックが呼び出されます。 -準備されたトランザクションがCOMMIT PREPAREDを使用してコミットされると、commit_prepared_cbコールバックが呼び出されます。 +プリペアドトランザクションがROLLBACK PREPAREDを使用してロールバックされると、rollback_prepared_cbコールバックが呼び出されます。 +プリペアドトランザクションがCOMMIT PREPAREDを使用してコミットされると、commit_prepared_cbコールバックが呼び出されます。 @@ -2141,7 +2141,7 @@ commit_prepared_cb(...); <-- commit of the prepared transaction The users that want to decode prepared transactions need to be careful about below mentioned points: --> -準備されたトランザクションをデコードしようとするユーザは、以下の点に注意する必要があります。 +プリペアドトランザクションをデコードしようとするユーザは、以下の点に注意する必要があります。 @@ -2150,7 +2150,7 @@ commit_prepared_cb(...); <-- commit of the prepared transaction If the prepared transaction has locked [user] catalog tables exclusively then decoding prepare can block till the main transaction is committed. --> -準備されたトランザクションが[user]カタログテーブルを排他的にロックしている場合、メイントランザクションがコミットされるまで準備のデコードをブロックできます。 +プリペアドトランザクションが[user]カタログテーブルを排他的にロックしている場合、メイントランザクションがコミットされるまで準備のデコードをブロックできます。 @@ -2164,7 +2164,7 @@ commit_prepared_cb(...); <-- commit of the prepared transaction in such transactions. See for the details. --> -この機能を使用して分散2相コミットを構築する論理レプリケーションソリューションは、準備されたトランザクションが[user]カタログテーブルを排他的にロックした場合にデッドロックを発生する可能性があります。 +この機能を使用して分散2相コミットを構築する論理レプリケーションソリューションは、プリペアドトランザクションが[user]カタログテーブルを排他的にロックした場合にデッドロックを発生する可能性があります。 これを回避するために、ユーザはこのようなトランザクションでカタログテーブルをロック(例えば明示的なLOCKコマンド)しないようにしなければなりません。 詳細についてはを参照してください。 diff --git a/doc/src/sgml/ref/alter_subscription.sgml b/doc/src/sgml/ref/alter_subscription.sgml index f971284cdaf..026bab86ace 100644 --- a/doc/src/sgml/ref/alter_subscription.sgml +++ b/doc/src/sgml/ref/alter_subscription.sgml @@ -402,7 +402,7 @@ falseにすると、このコマンドはテーブル情報を更新しません --> two_phasetrueからfalseに変更する際、適用ワーカーによって実行されたプリペアドトランザクション(two_phaseパラメータがまだtrueだった時点から)が見つかった場合は、バックエンドプロセスはエラーを報告します。 パブリッシャーノードでプリペアドトランザクションを解決するか、サブスクライバーノードで手動ロールバックを行ってから再試行できます。 -特定のサブスクリプションに対応する論理レプリケーションワーカーによって準備されたトランザクションは次のようなパターンを持ちます。 +特定のサブスクリプションに対応する論理レプリケーションワーカーによってプリペアドトランザクションは次のようなパターンを持ちます。 pg_gid_%u_%u(パラメータ:サブスクリプションoid、リモートトランザクションIDxid)。 このようなトランザクションを手動で解決するには、関連するサブスクリプションIDを名前に持つすべてのプリペアドトランザクションをロールバックする必要があります。 アプリケーションはpg_prepared_xactsを確認して、必要なプリペアドトランザクションを見つけることができます。 diff --git a/doc/src/sgml/ref/commit_prepared.sgml b/doc/src/sgml/ref/commit_prepared.sgml index 058b0b0f52a..a2ae74b4604 100644 --- a/doc/src/sgml/ref/commit_prepared.sgml +++ b/doc/src/sgml/ref/commit_prepared.sgml @@ -22,7 +22,7 @@ PostgreSQL documentation - 二相コミット用に事前に準備されたトランザクションをコミットする + 二相コミット用に事前にプリペアドトランザクションをコミットする @@ -42,7 +42,7 @@ COMMIT PREPARED transaction_id COMMIT PREPARED commits a transaction that is in prepared state. --> -COMMIT PREPAREDは準備された状態のトランザクションをコミットします。 +COMMIT PREPAREDはプリペアド状態のトランザクションをコミットします。 @@ -80,7 +80,7 @@ COMMIT PREPARED transaction_id executed the transaction originally, or a superuser. But you do not have to be in the same session that executed the transaction. --> -準備されたトランザクションをコミットするには、元のトランザクションを実行したユーザと同じユーザか、スーパーユーザでなければなりません。 +プリペアドトランザクションをコミットするには、元のトランザクションを実行したユーザと同じユーザか、スーパーユーザでなければなりません。 しかし、トランザクションを実行したセッションと同じセッションである必要はありません。 @@ -90,7 +90,7 @@ COMMIT PREPARED transaction_id transaction is committed immediately. --> このコマンドはトランザクションブロックの内側では実行できません。 -準備されたトランザクションは即座にコミットされます。 +プリペアドトランザクションは即座にコミットされます。 @@ -99,7 +99,7 @@ COMMIT PREPARED transaction_id pg_prepared_xacts system view. --> -利用可能な準備されたトランザクションはすべて、pg_prepared_xactsシステムビューで列挙されます。 +利用可能なプリペアドトランザクションはすべて、pg_prepared_xactsシステムビューで列挙されます。 diff --git a/doc/src/sgml/ref/create_role.sgml b/doc/src/sgml/ref/create_role.sgml index 31f13e45cea..ad61f7e253f 100644 --- a/doc/src/sgml/ref/create_role.sgml +++ b/doc/src/sgml/ref/create_role.sgml @@ -322,7 +322,7 @@ pg_dumpを実行するユーザが適切な権限を持っていなければ、 ロールがログイン可能である場合、これは、ロールが確立できる最大同時接続数を指定します。 -1(デフォルト)は無制限を意味します。 通常の接続のみがこの制限の対象として数えられることに注意してください。 -準備されたトランザクションやバックグラウンドワーカーの接続はこの制限の対象にはなりません。 +プリペアドトランザクションやバックグラウンドワーカーの接続はこの制限の対象にはなりません。 diff --git a/doc/src/sgml/ref/pg_createsubscriber.sgml b/doc/src/sgml/ref/pg_createsubscriber.sgml index cb43df6e9e0..ba482fcf2b8 100644 --- a/doc/src/sgml/ref/pg_createsubscriber.sgml +++ b/doc/src/sgml/ref/pg_createsubscriber.sgml @@ -630,7 +630,7 @@ DDLコマンドは論理レプリケーションではレプリケートされ option enabled. --> スイッチを指定しない限り、pg_createsubscriberは二相コミットを無効にして論理レプリケーションを設定します。 -これは、準備されたトランザクションが事前の準備なしにCOMMIT PREPAREDの時点で複製されることを意味します。 +これは、プリペアドトランザクションが事前の準備なしにCOMMIT PREPAREDの時点で複製されることを意味します。 セットアップが完了したら、two_phaseオプションを有効にしてサブスクリプションを手動で削除し、再作成することができます。 diff --git a/doc/src/sgml/ref/prepare_transaction.sgml b/doc/src/sgml/ref/prepare_transaction.sgml index 965e1e8c59f..026c9350304 100644 --- a/doc/src/sgml/ref/prepare_transaction.sgml +++ b/doc/src/sgml/ref/prepare_transaction.sgml @@ -107,7 +107,7 @@ PREPARE TRANSACTION transaction_id --> 後でCOMMIT PREPAREDROLLBACK PREPAREDでトランザクションを識別するための任意の識別子です。 この識別子は文字列リテラルでなければなりません。また、200バイト未満でなければなりません。 -また、その時点で準備されたトランザクションとして使用されている他の識別子と同じものは使用できません。 +また、その時点でプリペアドトランザクションとして使用されている他の識別子と同じものは使用できません。 @@ -178,7 +178,7 @@ PREPARE TRANSACTION transaction_id pg_prepared_xacts system view. --> -その時点で利用できるすべての準備されたトランザクションはpg_prepared_xactsシステムビューで列挙されます。 +その時点で利用できるすべてのプリペアドトランザクションはpg_prepared_xactsシステムビューで列挙されます。 @@ -194,10 +194,10 @@ PREPARE TRANSACTION transaction_id rolled back as soon as an external transaction manager has verified that other databases are also prepared to commit. --> -トランザクションを長期間準備された状態のままとすることは勧められません。 +トランザクションを長期間プリペアド状態のままとすることは勧められません。 これは格納領域を回収するVACUUM機能を妨害し、極端な場合では、トランザクションの周回(参照)を回避するためにデータベースを停止させてしまいます。 またトランザクションが保持しているすべてのロックを保持し続けていることにも注意してください。 -この機能の想定している使用方法は、外部トランザクションマネージャが他のデータベースがコミットの準備をしたと検証した後すぐに、準備されたトランザクションは通常コミットまたはロールバックされることです。 +この機能の想定している使用方法は、外部トランザクションマネージャが他のデータベースがコミットの準備をしたと検証した後すぐに、プリペアドトランザクションは通常コミットまたはロールバックされることです。 @@ -209,8 +209,8 @@ PREPARE TRANSACTION transaction_id prevent accidental creation of prepared transactions that might then be forgotten and eventually cause problems. --> -準備されたトランザクションを追跡し、それを即座に終了できるように外部トランザクションマネージャを設定していない場合、をゼロに設定して準備されたトランザクション機能を無効にしておくことが最善です。 -こうすれば事故により準備されたトランザクションが作成され、それが忘れられて問題を引き起こすことを防止できます。 +プリペアドトランザクションを追跡し、それを即座に終了できるように外部トランザクションマネージャを設定していない場合、をゼロに設定してプリペアドトランザクション機能を無効にしておくことが最善です。 +こうすれば事故によりプリペアドトランザクションが作成され、それが忘れられて問題を引き起こすことを防止できます。 diff --git a/doc/src/sgml/ref/rollback_prepared.sgml b/doc/src/sgml/ref/rollback_prepared.sgml index 42aeac99097..71e03c3a810 100644 --- a/doc/src/sgml/ref/rollback_prepared.sgml +++ b/doc/src/sgml/ref/rollback_prepared.sgml @@ -22,7 +22,7 @@ PostgreSQL documentation - 二相コミット用に事前に準備されたトランザクションを取り消す + 二相コミット用に事前にプリペアドトランザクションを取り消す @@ -42,7 +42,7 @@ ROLLBACK PREPARED transaction_id ROLLBACK PREPARED rolls back a transaction that is in prepared state. --> -ROLLBACK PREPAREDは、準備された状態のトランザクションをロールバックします。 +ROLLBACK PREPAREDは、プリペアド状態のトランザクションをロールバックします。 @@ -80,7 +80,7 @@ ROLLBACK PREPARED transaction_id executed the transaction originally, or a superuser. But you do not have to be in the same session that executed the transaction. --> -準備されたトランザクションをロールバックするには、トランザクションを元々実行したユーザかスーパーユーザでなければなりません。 +プリペアドトランザクションをロールバックするには、トランザクションを元々実行したユーザかスーパーユーザでなければなりません。 しかし、トランザクションを実行したのと同じセッション内で実行する必要はありません。 @@ -90,7 +90,7 @@ ROLLBACK PREPARED transaction_id transaction is rolled back immediately. --> このコマンドはトランザクションブロック内では実行できません。 -準備されたトランザクションは即座にロールバックされます。 +プリペアドトランザクションは即座にロールバックされます。 @@ -99,7 +99,7 @@ ROLLBACK PREPARED transaction_id pg_prepared_xacts system view. --> -現在利用できるすべての準備されたトランザクションはpg_prepared_xactsシステムビュー内に列挙されています。 +現在利用できるすべてのプリペアドトランザクションはpg_prepared_xactsシステムビュー内に列挙されています。 diff --git a/doc/src/sgml/system-views.sgml b/doc/src/sgml/system-views.sgml index 30365e506b5..ddad3c9f550 100644 --- a/doc/src/sgml/system-views.sgml +++ b/doc/src/sgml/system-views.sgml @@ -4085,7 +4085,7 @@ trueの場合は、このスロットが現在ストリーミングされてい True if the slot is enabled for decoding prepared transactions. Always false for physical slots. --> -trueの場合は、準備されたトランザクションのデコーディングのためにスロットが有効。 +trueの場合は、プリペアドトランザクションのデコーディングのためにスロットが有効。 物理スロットでは常にfalse。 @@ -4100,7 +4100,7 @@ trueの場合は、準備されたトランザクションのデコーディン transactions is enabled. NULL for logical slots where two_phase is false and for physical slots. --> -準備されたトランザクションのデコードが有効になっているアドレス(LSN)。 +プリペアドトランザクションのデコードが有効になっているアドレス(LSN)。 two_phaseがfalseである論理スロットおよび物理スロットの場合はNULL。 diff --git a/doc/src/sgml/xact.sgml b/doc/src/sgml/xact.sgml index 3b5e3b29aa8..34a9d6987a5 100644 --- a/doc/src/sgml/xact.sgml +++ b/doc/src/sgml/xact.sgml @@ -115,7 +115,7 @@ XIDはPostgreSQLMVCC prepared transactions. The mapping of GID to xid is shown in pg_prepared_xacts. --> -vxidxidに加えて、準備されたトランザクションにはグローバルトランザクション識別子(GID)も割り当てられます。 +vxidxidに加えて、プリペアドトランザクションにはグローバルトランザクション識別子(GID)も割り当てられます。 GIDは最大200バイト長の文字列リテラルで、現在準備されている他のトランザクション中で一意でなければなりません。 GIDからxidへのマッピングはpg_prepared_xactsに表示されます。 @@ -305,10 +305,10 @@ xidを持つトップレベルトランザクションがコミットすると linkend="view-pg-prepared-xacts">pg_prepared_xacts. --> ユーザがPREPARE TRANSACTIONを実行すると、次のコマンドとしてはCOMMIT PREPAREDまたはROLLBACK PREPAREDしか使用できません。 -一般的に、この準備済み状態は非常に短い期間であることを意図していますが、外部での可用性の問題により、トランザクションがこの状態に長期間とどまる可能性があります。 -短命な準備済みトランザクションは共有メモリとWALにのみ格納されます。 +一般的に、このプリペアド状態は非常に短い期間であることを意図していますが、外部での可用性の問題により、トランザクションがこの状態に長期間とどまる可能性があります。 +短命なプリペアドトランザクションは共有メモリとWALにのみ格納されます。 チェックポイントをまたいだトランザクションはpg_twophaseディレクトリに記録されます。 -現在準備済みのトランザクションはpg_prepared_xactsを使用して検査できます。 +現在プリペアドのトランザクションはpg_prepared_xactsを使用して検査できます。 From 8d2f9e8cf0ff4c0858e45b138a011eb51e8975db Mon Sep 17 00:00:00 2001 From: Noboru Saito Date: Tue, 28 Jul 2026 21:19:15 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=E6=97=A5=E6=9C=AC=E8=AA=9E=E3=81=8C?= =?UTF-8?q?=E3=81=8A=E3=81=8B=E3=81=97=E3=81=8F=E3=81=AA=E3=81=A3=E3=81=A6?= =?UTF-8?q?=E3=81=84=E3=81=9F=E7=AE=87=E6=89=80=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 指摘されたプリペアドトランザクションにしたことで変になっていた箇所の修正 - 二相コミットを2相コミットに修正 - 「prepared transaction」でなかった箇所は「準備されたトランザクション」に戻す --- doc/src/sgml/logicaldecoding.sgml | 2 +- doc/src/sgml/ref/alter_subscription.sgml | 2 +- doc/src/sgml/ref/commit_prepared.sgml | 2 +- doc/src/sgml/ref/pg_createsubscriber.sgml | 2 +- doc/src/sgml/ref/prepare_transaction.sgml | 6 +++--- doc/src/sgml/ref/rollback_prepared.sgml | 2 +- doc/src/sgml/xact.sgml | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/src/sgml/logicaldecoding.sgml b/doc/src/sgml/logicaldecoding.sgml index ccf0c732ce9..9c2b386e540 100644 --- a/doc/src/sgml/logicaldecoding.sgml +++ b/doc/src/sgml/logicaldecoding.sgml @@ -1027,7 +1027,7 @@ SQLで変更データを見るような場合、任意のかたちでデータ 指定したトランザクションに含まれる更新だけがbegincommitの間のコールバックによってデコードされます。 明示的あるいは暗黙的にロールバックされたトランザクションは、決してデコードされません。 成功したセーブポイントは、実行された順番にセーブポイントが実行されたトランザクションの中に折り込まれます。 -PREPARE TRANSACTIONを使用して2相コミット用にプリペアドトランザクションも、デコードに必要な出力プラグインコールバックが提供されていればデコードされます。 +PREPARE TRANSACTIONを使用して2相コミット用のプリペアドトランザクションも、デコードに必要な出力プラグインコールバックが提供されていればデコードされます。 ROLLBACK PREPAREDコマンドを使用して、現在準備されているトランザクションが同時にアボートされる可能性があります。 その場合、このトランザクションのロジカルデコーディングもアボートされます。 そのようなトランザクションのすべての変更は、アボートが検出され、prepare_cbコールバックが呼び出されるとスキップされます。 diff --git a/doc/src/sgml/ref/alter_subscription.sgml b/doc/src/sgml/ref/alter_subscription.sgml index 026bab86ace..86500333ccb 100644 --- a/doc/src/sgml/ref/alter_subscription.sgml +++ b/doc/src/sgml/ref/alter_subscription.sgml @@ -402,7 +402,7 @@ falseにすると、このコマンドはテーブル情報を更新しません --> two_phasetrueからfalseに変更する際、適用ワーカーによって実行されたプリペアドトランザクション(two_phaseパラメータがまだtrueだった時点から)が見つかった場合は、バックエンドプロセスはエラーを報告します。 パブリッシャーノードでプリペアドトランザクションを解決するか、サブスクライバーノードで手動ロールバックを行ってから再試行できます。 -特定のサブスクリプションに対応する論理レプリケーションワーカーによってプリペアドトランザクションは次のようなパターンを持ちます。 +特定のサブスクリプションに対応する論理レプリケーションワーカーによるプリペアドトランザクションは次のようなパターンを持ちます。 pg_gid_%u_%u(パラメータ:サブスクリプションoid、リモートトランザクションIDxid)。 このようなトランザクションを手動で解決するには、関連するサブスクリプションIDを名前に持つすべてのプリペアドトランザクションをロールバックする必要があります。 アプリケーションはpg_prepared_xactsを確認して、必要なプリペアドトランザクションを見つけることができます。 diff --git a/doc/src/sgml/ref/commit_prepared.sgml b/doc/src/sgml/ref/commit_prepared.sgml index a2ae74b4604..25f5c5e3f0b 100644 --- a/doc/src/sgml/ref/commit_prepared.sgml +++ b/doc/src/sgml/ref/commit_prepared.sgml @@ -22,7 +22,7 @@ PostgreSQL documentation - 二相コミット用に事前にプリペアドトランザクションをコミットする + 2相コミット用の事前に準備されたトランザクションをコミットする diff --git a/doc/src/sgml/ref/pg_createsubscriber.sgml b/doc/src/sgml/ref/pg_createsubscriber.sgml index ba482fcf2b8..d5866a7563c 100644 --- a/doc/src/sgml/ref/pg_createsubscriber.sgml +++ b/doc/src/sgml/ref/pg_createsubscriber.sgml @@ -629,7 +629,7 @@ DDLコマンドは論理レプリケーションではレプリケートされ the two_phase option enabled. --> -スイッチを指定しない限り、pg_createsubscriberは二相コミットを無効にして論理レプリケーションを設定します。 +スイッチを指定しない限り、pg_createsubscriberは2相コミットを無効にして論理レプリケーションを設定します。 これは、プリペアドトランザクションが事前の準備なしにCOMMIT PREPAREDの時点で複製されることを意味します。 セットアップが完了したら、two_phaseオプションを有効にしてサブスクリプションを手動で削除し、再作成することができます。 diff --git a/doc/src/sgml/ref/prepare_transaction.sgml b/doc/src/sgml/ref/prepare_transaction.sgml index 026c9350304..69c8eede0be 100644 --- a/doc/src/sgml/ref/prepare_transaction.sgml +++ b/doc/src/sgml/ref/prepare_transaction.sgml @@ -22,7 +22,7 @@ PostgreSQL documentation - 二相コミット用に現在のトランザクションを準備する + 2相コミット用に現在のトランザクションを準備する @@ -46,7 +46,7 @@ PREPARE TRANSACTION transaction_id successfully, even if a database crash occurs before the commit is requested. --> -PREPARE TRANSACTIONは、二相コミット用に現在のトランザクションを準備します。 +PREPARE TRANSACTIONは、2相コミット用に現在のトランザクションを準備します。 このコマンドの後、トランザクションは現在のセッションと関連しなくなります。 トランザクションの状態は完全にディスク上に保存され、コミット要求前にデータベースがクラッシュしてしまったとしても、ほぼ確実に正常にコミットできるようになります。 @@ -225,7 +225,7 @@ PREPARE TRANSACTION transaction_id Prepare the current transaction for two-phase commit, using foobar as the transaction identifier: --> -二相コミット用に現在のトランザクションを準備します。 +2相コミット用に現在のトランザクションを準備します。 トランザクション識別子としてfoobarを使用します。 diff --git a/doc/src/sgml/ref/rollback_prepared.sgml b/doc/src/sgml/ref/rollback_prepared.sgml index 71e03c3a810..57d05c4685f 100644 --- a/doc/src/sgml/ref/rollback_prepared.sgml +++ b/doc/src/sgml/ref/rollback_prepared.sgml @@ -22,7 +22,7 @@ PostgreSQL documentation - 二相コミット用に事前にプリペアドトランザクションを取り消す + 2相コミット用の事前に準備されたトランザクションを取り消す diff --git a/doc/src/sgml/xact.sgml b/doc/src/sgml/xact.sgml index 34a9d6987a5..c9415c1bb5d 100644 --- a/doc/src/sgml/xact.sgml +++ b/doc/src/sgml/xact.sgml @@ -308,7 +308,7 @@ xidを持つトップレベルトランザクションがコミットすると 一般的に、このプリペアド状態は非常に短い期間であることを意図していますが、外部での可用性の問題により、トランザクションがこの状態に長期間とどまる可能性があります。 短命なプリペアドトランザクションは共有メモリとWALにのみ格納されます。 チェックポイントをまたいだトランザクションはpg_twophaseディレクトリに記録されます。 -現在プリペアドのトランザクションはpg_prepared_xactsを使用して検査できます。 +現在のプリペアドトランザクションはpg_prepared_xactsを使用して検査できます。