Hello, I have a table that receives lots of updates and inserts.
Auto vaccum is always being cancelled on that table.
Do you have a scheduled task that clusters or reindexes the table?
Newer versions of PostgreSQL will log the conflicting statement that caused the vacuum to cancel.
I have nothing scheduled, only auto vacuum, but with the default parameters.
One day the database went on standby and I had to act manually to recover.
I'm not sure what that means. Do you mean it stopped accepting commands to prevent "wrap around" data loss? Once autovacuum starts running on a table in "prevent wrap around", then it no longer voluntarily yields to other processes trying to take a conflicting lock.
Exactly, stopped to prevent wrap around. I think it was because auto vacuum is being canceled.
What should I do to avoid auto vaccum cancel?
If you have scheduled jobs that do something on the table that requires a lock which conflicts with autovac, then you might want to include a manual VACUUM in that job.
Also, what full version are you running?
I am running postgres 9.1.4 with default auto vacuum parameters. I have only a scheduled job that runs delete for old tuples. Sometimes it a lot of tuples. Beside that, no other tasks.