Change the autovacuum launcher to read pg_database directly, rather than
Tom Lane <tgl@sss.pgh.pa.us>
Change the autovacuum launcher to read pg_database directly, rather than via the "flat files" facility. This requires making it enough like a backend to be able to run transactions; it's no longer an "auxiliary process" but more like the autovacuum worker processes. Also, its signal handling has to be brought into line with backends/workers. In particular, since it now has to handle procsignal.c processing, the special autovac-launcher-only signal conditions are moved to SIGUSR2. Alvaro, with some cleanup from Tom
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/postmaster/autovacuum.c | modified | +80 −101 |
| src/backend/postmaster/postmaster.c | modified | +3 −3 |
| src/backend/storage/lmgr/proc.c | modified | +24 −14 |
| src/backend/utils/init/globals.c | modified | +3 −3 |
| src/backend/utils/init/postinit.c | modified | +17 −8 |
| src/backend/utils/misc/guc.c | modified | +6 −6 |
| src/include/postmaster/autovacuum.h | modified | +3 −1 |
| src/include/storage/proc.h | modified | +5 −6 |