Simplify autovacuum work-item implementation

Enterprise / PostgreSQL - Alvaro Herrera [alvh.no-ip.org] - 15 August 2017 17:14 EDT

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

31ae163 Simplify autovacuum work-item implementation
src/backend/postmaster/autovacuum.c | 318 +++++++-----------------------------
1 file changed, 63 insertions(+), 255 deletions(-)

Upstream: git.postgresql.org


  • Share