12

8.xより前の数日間、私はLinux上で多数のPGSQLデータベースを実行し、メンテナンススクリプトを介してデータベースを明示的にバキュームしました。

8.xが登場したとき、正常に動作しているという理由でこれらのシステムの自動真空に移行しなかったため、何も変更する必要はありません。ですから私は自動真空の専門家ではありません。

現在、8.x以降の時代には、WindowsServer2003以降で実行されているいくつかのPGSQLデータベースを使用しています。

指示に従い、.confファイルでオンのままにしたため、autovacuumが実行されているようです。

ただし、PGAdminをデータベースに接続すると、VACUUMを実行する必要があるというプロンプトが表示されます。

autovacuumデーモンが実行され、データベースを管理していて、データベースを正しくバキュームしているかどうかをどのように判断できますか?

4

1 に答える 1

11

pg_stat_user_tablesには、最後の自動バキュームと自動分析がテーブルで実行された日時を一覧表示する列があります。これは、開始点として適しています。そしてもちろん、ログファイルには、autovacuumが実行していることに関する情報が含まれます。

Process Explorerなどのツールを使用して、postgres.exeプロセスを具体的に確認できます。Unixで利用可能なpsコマンドライン情報をエミュレートするために特別に名前が付けられたミューテックスがあります。見つけやすいはずです。また、「autovacuum」を検索するだけで、実行されていることを確認できます。

于 2010-01-08T13:14:31.173 に答える