鎖和索引

盡管 Postgres 提供對表數據訪問的非阻塞的讀/寫,但並非所有Postgres 裡實現的索引訪問模式都能夠進行非阻塞讀/寫。
各種各樣的索引型態按照下面方法操作:
 
GiST 和 R-Tree 索引
共享/排他的索引級鎖用於讀/寫訪問。鎖在語句完成後釋放。
Hash (散列)索引
共享/排他的頁面級鎖用於讀/寫訪問。鎖在頁面處理完成後釋放。

 

 

頁面級鎖比索引級的鎖提供了更好的並行性但是容易產生死鎖。

Btree
短期的共享/排他的頁面級的銷用於讀/寫訪問。銷在索引記錄被插入/抓取後立即釋放。