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