Hi All I am using postgres-8.1.2. I am getting the following error
while autovacuum. 2010-08-18 18:36:14 UTC LOG: autovacuum: processing database
"template0" After googling around about this error , I got to know that following
workaround will resolve the problem :
2. Stop postgres These steps resolve the problem indeed. But I have a question regarding
‘vacuum freeze’ As far as I know, vacuum freeze does the following : “Vacuum freeze is used to freeze the tuples in a DB so
that they dont suffer transaction ID wraparound in case DB is not vacuumed
properly.” My database was being vacuumed properly by autovacuum before
this problem occurred. Autovaccum was taking care of template0 ,
template1, postgres and my database let say its abc. Autovacuum is getting invoked after every 5 mins and vacuums all the database
turn by turn and every database is getting its turn of autovaccum after every
20 mins as there are 4 databases (template0 , template1, postgres and abc). Now suppose , this autovacuum problem occurs and through some script
its detected immediately at the very onset of the problem and above mentioned
workaround steps (upto step 4) are executed. Then still , do I need to execute ‘vacuum freeze’ on all
databases ?? Because, my databases were already getting autovacuumed properly
before the problem , the problem was resolved as soon as it occurred within let say 2 mins and after the problem is
resolved by workaround steps, then autovacuum will start vacuuming
all the 4 databases every 20 mins as I mentioned above. So, please confirm if in this
case I need to do ‘vacuum freeze’ for all the databases or I can
skip this step in workaround procedure. Thanks.. Tamanna |