postgresqlでテーブルをロックする
以下、手順メモ
BEGIN; LOCK TABLE hoge_table IN EXCLUSIVE MODE; COMMIT;
LOCK〜の時点で、hoge_tableはロックされる。
但し、COMMITを実行した時点でロックは解除される。
ロック中でも、SELECTだけは実行可能。
ちなみに、SELECTも実行できないようにするには、以下のようにロックする。
BEGIN; LOCK TABLE hoge_table IN ACCESS EXCLUSIVE MODE; COMMIT;
http://www.postgresql.jp/document/pg732doc/user/explicit-locking.html
PostgreSQLのロック(Lock)モード
http://www.geocities.jp/sugachan1973/doc/funto60.html
http://www.postgresql.jp/document/pg721doc/reference/sql-commit.html