"Bruce Momjian" <pgman@candle.pha.pa.us> writes
>
> One goal for 8.1 is to move /contrib/pg_autovacuum in to the backend. I
> think it has to be done in four stages:
>
> o move it into the backend and have it start/stop automatically
The start/stop routine is quite like Bgwriter. It requires PgStats to be
turned on. If it aborts unexpectedly, hopefully we could restart it. Shall
we have a RequestVacuum() to pass the control to this process so to avoid
possible redundant vacuums from user side?
> o move the autovacuum configuration parameters into postgresql.conf
There are some correlations of GUC parameters in order to incorporate it:
* stats_start_collector = true
* stats_row_level = true
add a parameter to let user pass in the configuration parameters:
* autovacuum_command = "-s 100 -S 1 ..."
So if autovacuum_command is given, we will automatically set the upper two
parameters true?
> o modify the code to use the backend API for error recovery
> o modify the code to use the backend API utilities, like hashes
Change "connect/disconnect server" to "start/stop autovacuum process";
Change "execute query" to "backend APIs";
Change "list" to "hash";
Need think more to handle various error conditions ...
>
> Who would like to get started on this? It seems pretty straight-forward.
>
I'd like to give it a try.
Regards,
Qingqing