PostgreSQL にあるデータベースで行われるすべてのアクティビティをプロファイリング (監視) したいと考えています。
これを行うのに役立つユーティリティはありますか?
PostgreSQL にあるデータベースで行われるすべてのアクティビティをプロファイリング (監視) したいと考えています。
これを行うのに役立つユーティリティはありますか?
「目を離さない」と「プロフィールを作成する」は、私の見解ではまったく異なる 2 つのタスクです。
プロファイリング(現在何が起こっているかについてのライブビューではなく、どのクエリに最も時間がかかるかなどを確認するため)については、pgFouine をチェックしてください。
http://pgfouine.projects.postgresql.org/
これにより、どのクエリがリソースを集中的に使用しているかを確認し、不足しているインデックスを追加したり、他の手法を使用してクエリを書き直したりするなど、適切なアクションを実行できます。
「監視」のために、意図的に Unix の「top」コマンドを模倣したプログラムであるpgtopを使用します。
選択、更新、削除などについて何が起こっているのかを調べていると、pg_catalog
スキーマにはいくつかのビューがあり、私は主に and を使用pg_stat_user_tables
してpg_stat_user_indexes
いますが、さらに多くのビューがすべてpg_stat*
.
現在サーバーで実行されているものを示すビューもありpg_stat_activity
ます。
user_tables と user_indexes を使用する 4 つの munin プラグインを一緒にハックしました。
Nagios-Plugin スクリプトまたはcheck_postgres.plを見てください。