質問"Postgres Query execution time"については、この密接に関連する回答を参照してください。
pg_stat_activity
pg_catalog
スキーマ内のビューです。
SELECT
他のテーブルと同様に、そこから ing することでクエリを実行できますSELECT * FROM pg_stat_activity
。リンク先のマニュアルページでは、その列について説明しています。
pg_class
(テーブル) やpg_namespace
(スキーマ) などの他のテーブルに参加したくなることがあります。
制限事項
pg_stat_activity
バックエンドのメモリ使用に関する情報を公開しません。そのためには、オペレーティング システム レベルの機能を使用する必要があります。ただし、プロセス ID、アクティブなユーザー、現在実行中のクエリ、アクティビティのステータス、最後のクエリの開始時刻などはわかりますidle in transaction
。長時間実行されているセッションや非常に長時間実行されているクエリなどを識別するのに適しています。
率直に言って、PostgreSQL の組み込みモニタリングはかなり初歩的なものです。これは、取り組むのがそれほどエキサイティングではない分野の 1 つであり、商業クライアントはしばしば資金を提供しようとはしません。ほとんどの人はcheck_postgres
、Icinga や Munin などのツールを組み合わせたり、Zabbix やその他の外部監視エージェントを使用したりします。
あなたの場合、あなたが本当に望んでいるように聞こえますpg_stat_statements
、および/またはPgBadger
適切なログ設定とおそらくauto_explain
モジュールを使用したログ分析。