Wenn die toten Tupel über das hinausgehen, was in max_fsm_pages
berücksichtigt werden kann, kann ein regulärer VACUUM nicht alles befreien. Das Endergebnis ist, dass die Datenbank im Laufe der Zeit immer größer wird, wenn sich der Totraum weiter anhäuft. Das Ausführen eines VACUUM FULL sollte dieses Problem beheben. Leider kann es in einer großen Datenbank sehr lange dauern.
Wenn Sie häufig auf dieses Problem stoßen, müssen Sie entweder häufiger saugen (Autovacuum kann hier helfen) oder erhöhen Sie die max_fsm_pages
Einstellung. Wenn Sie VACUUM VERBOSE ausführen, wird Ihnen angezeigt, wie viele Seiten freigegeben wurden, und Sie erhalten eine Warnung, wenn max_fsm_pages
überschritten wurde. Dies kann Ihnen dabei helfen festzustellen, wie dieser Wert aussehen sollte. Weitere Informationen finden Sie im Handbuch. http://www.postgresql.org/docs/8.3/static/runtime-config-resource.html#RUNTIME-CONFIG-RESOURCE-FSM
Glücklicherweise löst die Sichtbarkeitskarte von 8.4 dieses Problem. Despesz hat eine großartige Geschichte zu diesem Thema wie immer: http://www.depesz.com/index.php/2008/12/08/waiting-for-84-visibility-maps/
Ich empfehle dies auf serverfault.com – Elijah