Postgres は テーブルのデータを対象とした「ブロックされない読み込み/書き込み」を 備えています.しかしこの機能は Postgres に実装されている個々のインデックス・アクセスメソッドにはありません.
インデックスの種類ごとの扱いは,以下のようになっています.
読み込み/書き込みアクセスに共有/排他モードのインデックスレベル ロックを使います.ロックは文の処理完了後に開放されます.
読み込み/書き込みアクセスに共有/排他モードのページレベルロックを 使います.ロックはページ処理後に開放されます.
ページレベルロックは,インデックスレベルのロックよりも同時実行性に 優れていますが,デッドロックも起きやすくなります.
読み込み/書き込みアクセスに共有/排他モードのページレベルラッチを 使います.ラッチはインデックスのタプルが挿入/フェッチされると 直ちに開放されます.
B-Tree インデックスは,デッドロック状態になることなく, 最も高い同時実行性を提供します.