I have been working on integrating pg_autovacuum into the backend. I
have used Tom's recent work on the bgwriter as an example. This patch
accomplishes the following:
* pg_autovacuum is now started and stopped by the postmaster
* pg_autovacuum is no longer a stand alone executable
* pg_autovacuum now uses elog
I am submitting this patch for review to make sure that I'm headed in
the right direction, so please give it a cursory glance and tell me if
you see any glaring problems.
I am planning on doing much more in the next few days including:
* creating pg_autovacuum related guc variables
* create a new system table for pg_autovacuum settings
* alter pg_class (or create another new system table) to store
additional per table pg_autovacuum data which will allow per table
settings and persistent data
To use this patch, move pg_autovacuum.c into src/backend/postmaster,
move pg_autovacuum.h into src/include/postmaster and apply the patch.
Matthew O'Connor
ps, I am hoping to get this work in before feature freeze.