私はPostgreSQLデータベースの 特定のテーブルで起こっているロックを調べようとしています。PostgreSQLがテーブル名を含むロックを見つけよう
私は私の列の束を与えるようだが、私はいずれかの列が 関係のOIDです見るのでそれが関係を見つけることが可能 あるとしてpg_locks
select * from pg_locks;
というテーブルがあります参照してください。
リレーション名を取得するには、どのテーブルをリンクする必要がありますか?
私はPostgreSQLデータベースの 特定のテーブルで起こっているロックを調べようとしています。PostgreSQLがテーブル名を含むロックを見つけよう
私は私の列の束を与えるようだが、私はいずれかの列が 関係のOIDです見るのでそれが関係を見つけることが可能 あるとしてpg_locks
select * from pg_locks;
というテーブルがあります参照してください。
リレーション名を取得するには、どのテーブルをリンクする必要がありますか?
これを試してみてください:
select nspname,relname,l.* from pg_locks l join pg_class c on
(relation=c.oid) join pg_namespace nsp on (c.relnamespace=nsp.oid) where
pid in (select procpid from pg_stat_activity where
datname=current_database() and current_query!=current_query())
レミー男爵の答えは、私はちょうど私がそれは私がこのような場合には必要なものを、より具体的だとしても理由だけで を思い付いたものを投稿したかった正しい
select pg_class.relname,
pg_locks.mode
from pg_class,
pg_locks
where pg_class.oid = pg_locks.relation
and pg_class.relnamespace >= 2200
;
https://wiki.postgresql.org/wiki/Lock_Monitoring –