読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

テーブルレベルロックの競合表

PostgreSQL

PostgreSQLのロックについて学習中。ここでテーブルレベルロックの競合表は発見したのだけど、「SHARE UPDATE EXCLUSIVE」とかいわれても良くわからんので、具体的な操作/コマンド名に置き換えてみた。○は競合しない、×は競合するです。

select select for update insert,update,delete FULLなしのVACUUM, create index concurrently create index alter table, drop table,VACUUM FULL
select ×
select for update ×
insert,update,delete × ×
FULLなしのVACUUM, create index concurrently × × ×
create index × × × ×
alter table, drop table,VACUUM FULL × × × × × ×

あと、これとは別に行ロックがあって、たとえば「select for update」された行はそのトランザクションがコミットされるまで更新できない(はず)。この表だけだとブロックされないように見えるので注意(なはず)。