DB接続が無期限に開いたままになり、DBサーバーで問題が発生する問題を調査しています。 PostgreSQLサーバーへの現在開いている接続、特に特定のデータベースを使用している接続を確認するにはどうすればよいですか?理想的には、そこで実行されているコマンドも確認したいと思います。基本的に、MSSQLの「現在のアクティビティ」ビューに相当するものを探しています。
はい、他の誰かから入手しました。このクエリは、トリックを実行する必要があります。
select *
from pg_stat_activity
where datname = 'mydatabasename';
pg-top も参照してください。これは、postgresアクティビティを表示することを除いて、topのように機能します。
Sudo su postgres
)pg_top
を実行しますSELECT
pid
,datname
,usename
,application_name
,client_hostname
,client_port
,backend_start
,query_start
,query
FROM pg_stat_activity
WHERE state <> 'idle'
AND pid<>pg_backend_pid();
PostgreSQL ASHビューア(PASHビューア)は、アクティブなセッション履歴データをグラフィカルに表示します。 https://github.com/dbacvetkov/PASH-Viewer これは無料でオープンソースです。