Simplify autovacuum work-item implementation
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 15 Aug 2017 21:14:07 +0000 (18:14 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 15 Aug 2017 21:14:07 +0000 (18:14 -0300)
commitf2f9fcb3030ba67b4347a44b18b201f84d23997b
treef9aad3883a4ec3bc47967c9e8b8d2c6ff08360c9
parentedbad25877b10df07164345a8e6ae01236b6a26b
Simplify autovacuum work-item implementation

The initial implementation of autovacuum work-items used a dynamic
shared memory area (DSA).  However, it's argued that dynamic shared
memory is not portable enough, so we cannot rely on it being supported
everywhere; at the same time, autovacuum work-items are now a critical
part of the server, so it's not acceptable that they don't work in the
cases where dynamic shared memory is disabled.  Therefore, let's fall
back to a simpler implementation of work-items that just uses
autovacuum's main shared memory segment for storage.

Discussion: https://postgr.es/m/CA+TgmobQVbz4K_+RSmiM9HeRKpy3vS5xnbkL95gSEnWijzprKQ@mail.gmail.com
src/backend/postmaster/autovacuum.c