Behaviour when autovacuum is canceled

From: Martín Fernández <fmartin91(at)gmail(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Behaviour when autovacuum is canceled
Date: 2018-09-13 22:45:51
Message-ID: 5b9ae6b53f8b8f4e0c000001@polymail.io
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello,

I'm working on a high volume transaction database and we are starting to tune our autovacuum setting to improve our vacuuming performance.

Once thing that we know about autovacuum is that is can be automatically canceled if a dependent transaction is blocked by the autovacuum transaction. In a situation like this one, autovacuum would be canceled. 

My question is, what will happen to the work that autovacuum has achieved before being canceled ? Is that work lost ? I tried to look for the answer in the code and I'm not completely sure what will happen. From what I could understand (that can be totally wrong), the vacuum process is split in multiple small transactions. If the autovacuum is canceled, could it be possible that only the latest transaction work be lost ?

Sorry if my understanding is not the correct one, understanding how to tune the autovacuum seems really complicated to me.

Thanks before hand! 

Martín

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2018-09-13 22:53:15 Re: [External] RE: Estimate time without running the query
Previous Message Neto pr 2018-09-13 22:30:28 Re: [External] RE: Estimate time without running the query