日曜日, 12月 17, 2006

[PostgreSQL] やばいSQLをlするには

現在実行中のクエリ一覧はこれで見る.

select pid,current_query from pg_stat_activity;


でロックしている状況を見るにはこれで見る.

SELECT l.pid, c.relname, l.transaction, l.mode, l.granted FROM pg_locks l LEFT OUTER JOIN pg_class c ON l.relation = c.oid ORDER BY 1;


この結果が以下のような場合,

pid | relname | transaction | mode | granted
-------+---------------------------------+-------------+------------------+---------
5423 | xxxxxx_site_view | 1435608385 | AccessShareLock | t
5423 | | 1435608385 | ExclusiveLock | t
5423 | xxxxxx_kai_seigyo | 1435608385 | AccessShareLock | t
~省略~

OS側から"kill -TERM 5423"(ここで"-9"はダメ(当たり前か)).

0 件のコメント: