Re: Can manual vacuuming conflict with auto vacuuming?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jun 1, 2017 at 1:16 PM, Alvaro Herrera <alvherre@xxxxxxxxxxxxxxx> wrote:
> Mahesh Jhala wrote:
>> Hello All,
>>
>> If autovacuum of a large PostgreSQL table is in progress, and I start
>> a manual vacuum on the table, is there likely to be a conflict
>> (locking etc.) between the two vacuums?
>
> It depends on the autovacuum being for-wraparound or not.  If not, then
> the conflict will be detected within one second and autovacuum will
> cancel itself, so the regular vacuum would be able to proceed.  So there
> is a one-second period of time during which you would see the manual
> vacuum as blocked by autovacuum.
>
> If autovacuum is for wraparound protection, then it won't cancel itself,
> and the regular vacuum will just wait until autovacuum is finished.
>
>
> There is a final stage in vacuuming (both auto and regular) during which
> the table is truncated (the last few empty pages, if any).  There's some
> heuristics to handle that case nowadays which I don't remember very
> clearly.

Note that if you cancel the autovacuum the manual one will then
proceed, and the next autovacuum will have to wait behind that. This
may be necessary if your autovacuum is not aggressive enough to keep
up with some particularly heavy load.


-- 
Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux