テーブルロック
LOCK TABLE ... IN EXCLUSIVE MODE
| Session A | Session B |
=======================================================================================================================
| => BEGIN ; LOCK TABLE t1 IN EXCLUSIVE MODE; | | 1. LOCK TABLEする
| | |
| | => SELECT * FROM t1; | 2. SELECTは可能
| | id | n |
| | ----+----- |
| | 1 | 100 |
| | 2 | 100 |
| | (2 rows) |
| | |
| | => INSERT INTO t1 VALUES ( 3, 100 ); | 3. INSERTはブロックされる
| | |
| =*> COMMIT ; | | 4. COMMITされると、ブロック解除されて
| | | 上のINSERTが実行される
- SELECTは可能
- INSERT/UPDATEはブロック