ビュー(pg_stat_activity)を利用して、長時間、待ち状態のクライアントのコネクションを監視します。
例
以下の例は、クライアントの待ち状態が、60分以上の場合、該当コネクションを表示します。
ただし、アプリケーションの互換性を維持することを考慮し、下記のSQL文中のシステムカタログを直接参照しないようにしてください。
postgres=# select * from pg_stat_activity where state='idle in transaction' and current_timestamp > cast(query_start + interval '60 minutes' as timestamp); -[ RECORD 1 ]----+------------------------------ datid | 13003 datname | db01 pid | 4638 usesysid | 10 usename | fsepuser application_name | apl01 client_addr | 192.33.44.15 client_hostname | client_port | 27500 backend_start | 2018-02-24 09:09:21.730641+09 xact_start | 2018-02-24 09:09:23.858727+09 query_start | 2018-02-24 09:09:23.858727+09 state_change | 2018-02-24 09:09:23.858834+09 wait_event_type | Client wait_event | ClientRead state | idle in transaction backend_xid | backend_xmin | query | begin; backend_type | client backend
参照
アプリケーションの互換性の維持に関する詳細は、“アプリケーション開発ガイド”の“アプリケーションの互換に関する注意事項”を参照してください。
pg_stat_activityの詳細は、“PostgreSQL Documentation”の“Server Administration”の“The Statistics Collector”を参照してください。