postgresql資料庫鎖介紹
postgresql鎖介紹
1 ACCESS SHARE
"ACCESS SHARE"鎖模式只與"ACCESS EXCLUSIVE" 鎖模式衝突;
查詢命令(Select command)將會在它查詢的表上獲取"Access Shared" 鎖,一般地,任何一個對錶上的只讀查詢操作都將獲取這種型別的鎖。
2 ROW SHARE
"Row Share" 鎖模式與"Exclusive’和"Access Exclusive"鎖模式衝突;
"Select for update"和"Select for share"命令將獲得這種型別鎖,並且所有被引用但沒有 FOR UPDATE 的表上會加上"Access shared locks"鎖。
3 ROW EXCLUSIVE
"Row exclusive" 與 "Share,Shared roexclusive,Exclusive,Access exclusive"模式衝突;
"Update,Delete,Insert"命令會在目標表上獲得這種型別的鎖,並且在其它被引用的表上加上"Access shared"鎖,一般地,更改表資料的命令都將在這張表上獲得"Row exclusive"鎖。
4 SHARE UPDATE EXCLUSIVE
"Share update exclusive,Share,Share row ,exclusive,exclusive,Access exclusive"模式衝突,這種模式保護一張表不被併發的模式更改和VACUUM;
"Vacuum(without full), Analyze "和 "Create index concurrently"命令會獲得這種型別鎖。
5 SHARE
與"Row exclusive,Shared update exclusive,Share row exclusive ,Exclusive,Access exclusive"鎖模式衝突,這種模式保護一張表資料不被併發的更改;
"Create index"命令會獲得這種鎖模式。
6 SHARE ROW EXCLUSIVE
與"Row exclusive,Share update exclusive,Shared,Shared row exclusive,Exclusive,Access Exclusive"鎖模式衝突;
任何Postgresql 命令不會自動獲得這種鎖。
7 EXCLUSIVE
與" ROW SHARE, ROW EXCLUSIVE, SHARE UPDATE EXCLUSIVE, SHARE, SHARE ROW EXCLUSIVE, EXCLUSIVE, ACCESS EXCLUSIVE"模式衝突,這種索模式僅能與Access Share 模式併發,換句話說,只有讀操作可以和持有"EXCLUSIVE"鎖的事務並行;
任何Postgresql 命令不會自動獲得這種型別的鎖;
8 ACCESS EXCLUSIVE
與所有模式鎖衝突(ACCESS SHARE, ROW SHARE, ROW EXCLUSIVE, SHARE UPDATE EXCLUSIVE, SHARE, SHARE ROW EXCLUSIVE, EXCLUSIVE, and ACCESS EXCLUSIVE),這種模式保證了當前只有一個事務訪問這張表;
"ALTER TABLE, DROP TABLE, TRUNCATE, REINDEX, CLUSTER, VACUUM FULL" 命令會獲得這種型別鎖,在Lock table 命令中,如果沒有申明其它模式,它也是預設模式。
1 ACCESS SHARE
"ACCESS SHARE"鎖模式只與"ACCESS EXCLUSIVE" 鎖模式衝突;
查詢命令(Select command)將會在它查詢的表上獲取"Access Shared" 鎖,一般地,任何一個對錶上的只讀查詢操作都將獲取這種型別的鎖。
2 ROW SHARE
"Row Share" 鎖模式與"Exclusive’和"Access Exclusive"鎖模式衝突;
"Select for update"和"Select for share"命令將獲得這種型別鎖,並且所有被引用但沒有 FOR UPDATE 的表上會加上"Access shared locks"鎖。
3 ROW EXCLUSIVE
"Row exclusive" 與 "Share,Shared roexclusive,Exclusive,Access exclusive"模式衝突;
"Update,Delete,Insert"命令會在目標表上獲得這種型別的鎖,並且在其它被引用的表上加上"Access shared"鎖,一般地,更改表資料的命令都將在這張表上獲得"Row exclusive"鎖。
4 SHARE UPDATE EXCLUSIVE
"Share update exclusive,Share,Share row ,exclusive,exclusive,Access exclusive"模式衝突,這種模式保護一張表不被併發的模式更改和VACUUM;
"Vacuum(without full), Analyze "和 "Create index concurrently"命令會獲得這種型別鎖。
5 SHARE
與"Row exclusive,Shared update exclusive,Share row exclusive ,Exclusive,Access exclusive"鎖模式衝突,這種模式保護一張表資料不被併發的更改;
"Create index"命令會獲得這種鎖模式。
6 SHARE ROW EXCLUSIVE
與"Row exclusive,Share update exclusive,Shared,Shared row exclusive,Exclusive,Access Exclusive"鎖模式衝突;
任何Postgresql 命令不會自動獲得這種鎖。
7 EXCLUSIVE
與" ROW SHARE, ROW EXCLUSIVE, SHARE UPDATE EXCLUSIVE, SHARE, SHARE ROW EXCLUSIVE, EXCLUSIVE, ACCESS EXCLUSIVE"模式衝突,這種索模式僅能與Access Share 模式併發,換句話說,只有讀操作可以和持有"EXCLUSIVE"鎖的事務並行;
任何Postgresql 命令不會自動獲得這種型別的鎖;
8 ACCESS EXCLUSIVE
與所有模式鎖衝突(ACCESS SHARE, ROW SHARE, ROW EXCLUSIVE, SHARE UPDATE EXCLUSIVE, SHARE, SHARE ROW EXCLUSIVE, EXCLUSIVE, and ACCESS EXCLUSIVE),這種模式保證了當前只有一個事務訪問這張表;
"ALTER TABLE, DROP TABLE, TRUNCATE, REINDEX, CLUSTER, VACUUM FULL" 命令會獲得這種型別鎖,在Lock table 命令中,如果沒有申明其它模式,它也是預設模式。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29371470/viewspace-1582910/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL資料庫鎖介紹MySql資料庫
- PostgreSQL資料rotate用法介紹SQL
- 資料庫系列:MySQL InnoDB鎖機制介紹資料庫MySql
- MongoDB資料庫級別的鎖粒度介紹MongoDB資料庫
- 資料庫介紹資料庫
- 資料庫介紹--初識資料庫資料庫
- IndexedDB資料庫介紹Index資料庫
- [轉]介紹了Oracle資料庫鎖的種類及研究Oracle資料庫
- Sqlserver_Oracle_Mysql_Postgresql不同資料庫之隔離級別介紹ServerOracleMySql資料庫
- L10資料庫——資料庫介紹資料庫
- 資料倉儲—資料庫—Oracle 介紹資料庫Oracle
- 資料庫安全知識介紹資料庫
- QuestDB時序資料庫介紹資料庫
- 資料倉儲—資料庫—SQL Server 介紹資料庫SQLServer
- 面試官問:請介紹一下MySQL資料庫的鎖機制?面試MySql資料庫
- 資料庫基礎知識介紹!資料庫
- MongoDB 資料庫介紹及安裝MongoDB資料庫
- Oracle資料庫審計功能介紹Oracle資料庫
- RAC資料庫後臺程式介紹資料庫
- Oracle資料庫字符集介紹Oracle資料庫
- 【INDEX】Postgresql索引介紹IndexSQL索引
- PostgreSQL:psql 介紹SQL
- ORACLE鎖介紹Oracle
- 國產資料庫:達夢資料庫的幾個版本介紹資料庫
- 時序資料庫分析-TimescaleDB時序資料庫介紹資料庫
- 崑崙分散式資料庫架構介紹分散式資料庫架構
- 資料庫複製(一)–複製介紹資料庫
- 達夢透明分散式資料庫介紹分散式資料庫
- SequoiaDB資料庫之環境介紹資料庫
- 記憶體資料庫快取介紹記憶體資料庫快取
- 常用Oracle資料庫調優工具介紹Oracle資料庫
- 記憶體資料庫TimesTen介紹記憶體資料庫
- 關係型資料庫與非關係型資料庫介紹!資料庫
- RMAN 資料庫修復(restore)與資料庫恢復(recover)介紹資料庫REST
- 【資料庫——鎖】資料庫
- PostgreSQL 事務模型介紹SQL模型
- PostgreSQL 事務模型介紹SQL模型
- 關係型資料庫和NOSQL資料庫的優缺點介紹資料庫SQL