ロックとインデックス

57) Though Postgres provides unblocking read/write access to table data, unblocked read/write access is not provided for every index access methods implemented in Postgres.

Postgres は テーブルのデータを対象とした「ブロックされない読み込み/書き込み」を 備えています.しかしこの機能は Postgres に実装されている個々のインデックス・アクセスメソッドにはありません.

58) The various index types are handled as follows:

インデックスの種類ごとの扱いは,以下のようになっています.

GiST および R-Tree インデックス

60) Share/exclusive index-level locks are used for read/write access. Locks are released after statement is done.

読み込み/書き込みアクセスに共有/排他モードのインデックスレベル ロックを使います.ロックは文の処理完了後に開放されます.

ハッシュインデックス

62) Share/exclusive page-level locks are used for read/write access. Locks are released after page is processed.

読み込み/書き込みアクセスに共有/排他モードのページレベルロックを 使います.ロックはページ処理後に開放されます.

63) Page-level locks produces better concurrency than index-level ones but are subject to deadlocks.

ページレベルロックは,インデックスレベルのロックよりも同時実行性に 優れていますが,デッドロックも起きやすくなります.

B-Tree インデックス

64) Short-term share/exclusive page-level latches are used for read/write access. Latches are released immediately after the index tuple is inserted/fetched.

読み込み/書き込みアクセスに共有/排他モードのページレベルラッチを 使います.ラッチはインデックスのタプルが挿入/フェッチされると 直ちに開放されます.

65) Btree indices provide the highest concurrency without deadlock conditions.

B-Tree インデックスは,デッドロック状態になることなく, 最も高い同時実行性を提供します.