Jede Minute Autovacuum

Hallo liebes Forum,



ich habe gerade einmal in die Log-Datei meines Postgresql-Servers geschaut,

da steht z.B.


2008-04-28 06:27:03 CEST LOG: Autovacuum: bearbeite Datenbank ûabcë
er_240ë8 06:28:03 CEST LOG: Autovacuum: bearbeite Datenbank Ãxyz»
2008-04-28 06:29:03 CEST LOG: Autovacuum: bearbeite Datenbank ûetcë


…und so geht das den ganzen Tag, 24 Stunden,
es wird tatsächlich jede Minute so ein Befehl ausgeführt, ist das nicht im Prinzip sogar “performanzfressend”?

Kann mir jemand sagen, was das bedeutet?
Und wo ich das abstelle, bzw. sollte man das abstellen?

Danke im Voraus, Kai

nun wenn auf der DB nur mittel-kräftig gearbeitet wird kann das schon sein.

wenn du der meinung bist, dass das die db ausbremst kannst du natuerlich die autovacuum parameter anpassen (ab wievielen ollen tupel avc anlaufen soll usw)

ich wuerde da nicht gleich mit der axt rangehen … ich denke autovacuum_vacuum_threshold bzw. autovacuum_analyze_threshold ist fuer dich interessant

Vor allen Dingen kann man den Parameter “autovacuum_naptime” anpassen, der steht per Default auf einer Minute. Näheres unter:

PostgreSQL: Documentation: Manuals: PostgreSQL 8.4: Routine Vacuuming

Dieser Parameter ist die Wartezeit zwischen zwei Datenbanken. Wenn auf deiner Maschine nichts los ist, kannst du den Wert ruhig höher setzen.

den übersehe ich immer - ich verstehe auch dessen notwendigkeit nicht so ganz - also fuer autov. … es sei denn er gibt nur an, wieviel zeit mindestens vergehen muss bis zum naechst av - auch wenn es eigentlich lt. anderen parametern und aktivitaet wieder notwendig waere einen lauf zu starten

Wenn Autovacuum mit einer Datenbank fertig ist, wird die in “autovacuum_naptime” eingestellte Zeit gewartet. Der Name ist Programm: die Wartezeit soll das System entlasten.

Sprich, in dieser Zeit passiert von Autovacuum aus gar nichts. Danach wird erst wieder geprüft, ob es in der nächsten Datenbank überhaupt etwas zu tun gibt.

danke …
dann hab ichs richtig verstanden …

Alles klar, danke :slight_smile: