1

私はPostgreSQLデータベースの 特定のテーブルで起こっているロックを調べようとしています。PostgreSQLがテーブル名を含むロックを見つけよう

私は私の列の束を与えるようだが、私はいずれかの列が 関係のOIDです見るのでそれが関係を見つけることが可能 あるとしてpg_locks

select * from pg_locks; 

というテーブルがあります参照してください。

リレーション名を取得するには、どのテーブルをリンクする必要がありますか?

+0

https://wiki.postgresql.org/wiki/Lock_Monitoring –

答えて

1

これを試してみてください:

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()) 
0

レミー男爵の答えは、私はちょうど私がそれは私がこのような場合には必要なものを、より具体的だとしても理由だけで を思い付いたものを投稿したかった正しい

select pg_class.relname, 
     pg_locks.mode 
from pg_class, 
    pg_locks 
where pg_class.oid = pg_locks.relation 
and pg_class.relnamespace >= 2200 
; 
関連する問題