"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 ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend