Simplify autovacuum work-item implementation

Alvaro Herrera <alvherre@alvh.no-ip.org>

Commit: f2f9fcb3030ba67b4347a44b18b201f84d23997b
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2017-08-15T21:14:07Z
Releases: 10.0
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

Files

PathChange+/−
src/backend/postmaster/autovacuum.c modified +63 −255

Discussion