On Fri, Feb 22, 2008 at 5:44 PM, Alvaro Herrera <
alvherre@commandprompt.com> wrote:
Mikko Partio escribió:
> Now, the problem is that I cannot turn autovacuum off! I have tried to set
> autovacuum = off at postgresql.conf with no avail. I have also tried to
> disable the vacuum by inserting rows to pg_autovacuum but still the vacuum
> processes just pop up. What's even more weird is that autovacuum is
> vacuuming the same tables over and over. No sign of xid wraparound issues
> show in the logs. How can I stop autovacuum without restarting the database
> instance?
If your database is in danger of Xid wraparound, autovacuum will run on
it no matter what you do. Check pg_class.relfrozenxid and
pg_database.datfrozenxid, and the current Xid counter (from
pg_controldata I think). Also take a look at the description of the
autovacuum_min_freeze_age param (or was it max_freeze_age? I forget).
But I thought vacuum would send some messages to log if xid wraparound is looming?
SELECT relname, age(relfrozenxid) FROM pg_class WHERE relkind = 'r' order by 2 desc limit 4;
relname | age
---------------+-----------
table1 | 2141707556
table2 | 2141707556
table3 | 2141707556
table4 | 2141707556
SELECT datname, age(datfrozenxid) FROM pg_database;
datname | age
-----------+------------
template1 | 1833384067
template0 | 1833384065
postgres | 1933384063
mydb | 2040873036
Seems ok to me ... ? autovacuum_freeze_max_age and vacuum_freeze_min_age have the default value.
Regards
Mikko