diff --git a/doc/src/sgml/amcheck.sgml b/doc/src/sgml/amcheck.sgml index 3fd9aa0df10..39368762f10 100644 --- a/doc/src/sgml/amcheck.sgml +++ b/doc/src/sgml/amcheck.sgml @@ -35,16 +35,11 @@ linkend="guc-search-path"/> is temporarily changed to pg_catalog, pg_temp. --> -《マッチ度[80.790960]》B-Tree検査関数は、特定のリレーションの構造表現における様々な不変量を検査します。 +B-Tree検査関数は、特定のリレーションの構造表現における様々な不変量を検査します。 インデックスの走査や、その他の重要な操作を担うアクセスメソッド関数の正しさは、これらの不変量を常に保つことに依存しています。 たとえば、ある関数は、とりわけすべてのB-Treeページの中の項目が論理的な順序になっていることを検査します。(たとえばtextのB-Treeインデックスでは、インデックスタプルは語句の照合順になっていなければなりません。) その特定の不変量が何らかの理由で保たれなければ、該当するページで二分探索が不正なインデックス走査をもたらし、SQL問い合わせに誤った答えを返すことになるでしょう。 構造が適正であると見なされれば、エラーは報告されません。 -《機械翻訳》Bツリー検査関数は、特定のリレーションの表現形式の構造における様々な不変量を検証する。 -インデックススキャンやその他の重要な操作の背後にあるアクセスメソッド関数の正確さは、これらの不変量が常に保持されていることに依存している。 -例について、特定の関数は、とりわけ、すべてのB-ツリーページがロジカルオーダーにアイテムを有することを検証する(例えば、テキスト上のB-ツリーインデックスについては、インデックスタプルは、照合されたレキシカルオーダーにあるべきである)。 -この特定の不変式が何らかの形で成立しない場合、影響を受けたバイナリでのページ検索が誤ってガイドインデックススキャンを行い、その結果、間違いがSQLクエリに応答することが予想される。 -構造が有効であると思われる場合、エラーは上げられません。 これらのチェック関数の実行中、は一時的にpg_catalog, pg_tempに変更されます。 @@ -174,15 +169,11 @@ ORDER BY c.relpages DESC LIMIT 10; trade-off between thoroughness of verification and limiting the impact on application performance and availability. --> -《マッチ度[73.312565]》bt_index_checkは、ターゲットとなるインデックスと、それが所属するヒープリレーションに対してAccessShareLockを獲得します。 +bt_index_checkは、ターゲットとなるインデックスと、それが所属するヒープリレーションに対してAccessShareLockを獲得します。 このロックモードは、単純なSELECT文がリレーションに対して獲得するのと同じものです。 -bt_index_checkは、子/親関係に渡る不変量を検査しませんが、heapallindexedtrueの場合には、インデックス中のインデックスタプルに対応するすべてのヒープタプルの存在が検証されます。 +bt_index_checkは、子/親関係にわたる不変量を検査しませんが、heapallindexedtrueの場合には、インデックス中のインデックスタプルに対応するすべてのヒープタプルの存在が検証されます。 +checkuniquetrueの場合、bt_index_checkは一意インデックス内の重複エントリの中で可視のものが1つだけであることを検証します。 実行中の運用環境で定期的、軽量なデータ破損検査が必要な場合、bt_index_checkを使うのが、検査の完全性と、アプリケーションの性能と稼働への影響を限定することとの間の最良のトレードオフになることがしばしばあります。 -《機械翻訳》bt_index_checkは、ターゲットインデックスとそれが属するヒープリレーションのAccessShareLockを取得します。 -このロックモードは、シンプルセレクトの声明によってリレーションで取得されたのと同じロックモードです。 -bt_index_checkは、子と親の関係にまたがる不変条件を検証しませんが、heapallindexedヒープの場合、インデックス内のインデックスタプルとしてすべての真タプルの存在を検証します。 -checkuniquebt_index_checkの場合、一意インデックス内の重複エントリの中で可視のものが1つだけであることをチェックする。 -実際の運用環境で、破損に対するルーチンの軽量なテストが必要な場合、bt_index_checkを使用すると、検証の徹底と、アプリケーションパフォーマンスのインパクトとアベイラビリティの制限との間のベストの取引-オフが提供されることがよくある。 @@ -222,20 +213,14 @@ ORDER BY c.relpages DESC LIMIT 10; convention of raising an error if it finds a logical inconsistency or other problem. --> -《マッチ度[77.753465]》bt_index_parent_checkは、ターゲットとなるB-Treeインデックスが様々な不変量を保っていることを検査します。 +bt_index_parent_checkは、ターゲットとなるB-Treeインデックスが様々な不変量を保っていることを検査します。 オプションとして、heapallindexed引数がtrueの場合、インデックスに対応して存在すべきすべてのヒープタプルの存在を検証します。 +checkuniquetrueの場合、一意インデックスの重複エントリの中で可視のものが1つだけであることを検査します。 省略可能な引数rootdescendtrueであれば、各タプルに対するルートページから新しく探索することで、検証はリーフレベルのタプルを再び見つけます。 bt_index_parent_checkにより実施される検査は、bt_index_checkにより実施される検査のスーパーセットになっています。 bt_index_parent_checkは、bt_index_checkの更なる完璧版であると考えることができます。 つまり、bt_index_checkと違ってbt_index_parent_checkは、インデックス構造中のダウンリンクに漏れがないことを含め、親/子関係に渡る不変量も検査します。 bt_index_parent_checkは、論理的な非一貫性やその他の問題を発見した場合、一般的な習慣に従ってエラーを報告します。 -《機械翻訳》bt_index_parent_checkは、そのターゲットであるB-ツリーインデックスがさまざまな不変条件を尊重することをテストする。 -オプションで、heapallindexed引数がの場合、関数は、インデックス内で検出されるすべてのヒープタプルの存在を検証します。 -checkuniquebt_index_parent_checkの場合、一意インデックスの重複エントリの中で可視のものが1つだけであることをチェックします。 -オプショナルrootdescend引数がである場合、検証は、各リーフレベルに対してルートページから新しい検索を実行することによって、タプル上のタプルを再検索する。 -bt_index_parent_checkで実行可能なチェックは、bt_index_checkで実行可能なチェックのスーパーセットです。 -bt_index_parent_checkは、bt_index_checkのより完全な変形と考えることができます:bt_index_checkとは異なり、bt_index_parent_checkは、インデックス構造に欠落したダウンリンクがないことをチェックするなど、親/子の関係にまたがる不変条件もチェックします。 -bt_index_parent_checkは、ロジカルの不一致やその他の問題を検出した場合にエラーを上げるという一般的な規則に従います。