Wie kann ich feststellen, ob Autovacuum unter Windows Server 2003 für meine PGSQL-Datenbank ausgeführt wird?

8

in den Tagen vor 8.x habe ich zahlreiche PGSQL-Datenbanken unter Linux ausgeführt und die Datenbank explizit über Wartungsskript abgesaugt.

Als 8.x kam, bin ich auf diesen Systemen nicht in den Autovakuum gegangen, weil es funktionierte, also brauchte ich nichts zu ändern. Also bin ich kein Autovakuum-Experte.

Jetzt in der Post-8.x-Ära finde ich mich mit einigen PGSQL-Datenbanken, die auf Windows Server 2003 oder neuer laufen.

Es sieht so aus, als würde autovacuum ausgeführt werden , weil wir die Anweisungen befolgt und in der .conf-Datei aktiviert gelassen haben.

Wenn PGAdmin jedoch mit der Datenbank verbunden wird, werden wir aufgefordert, VACUUM auszuführen.

Wie können Sie feststellen, ob der Autovacuum-Daemon ausgeführt wird und nach Ihren Datenbanken sucht und diese richtig absaugt?

    
liamf 08.01.2010, 10:56
quelle

1 Antwort

8

Es gibt Spalten in pg_stat_user_tables, die auflisten, wann das letzte Autovacuum und Autoanalyze auf einer Tabelle ausgeführt wurde - das ist ein guter Ausgangspunkt. Und natürlich wird das Logfile Informationen darüber enthalten, was Autovacuum macht.

Sie können die postgres.exe-Prozesse mit einem Tool wie Process Explorer genau betrachten. Es wird einen Mutex geben, der speziell benannt wurde, um die unter Unix verfügbaren ps-Kommandozeilen-Informationen zu emulieren. Es sollte leicht zu finden sein. Und Sie können einfach nach "Autovacuum" suchen, um sicherzustellen, dass es läuft.

    
Magnus Hagander 08.01.2010, 13:14
quelle

Tags und Links