Thread: pg_autovacuum integration proof of concept patch
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.
Attachment
Hi Matthew, Cool. Last week I just take a look at it and have some ideas. > 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. > Yep. You're in the right direction. > 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 > I just made some of this. If you want to exchanges ideas, drop me a line. I'll try to get what you've done and integrate it with what i've done. -- Euler Taveira de Oliveira euler (at) ufgnet.ufg.br Desenvolvedor Web e Administrador de Sistemas UFGNet - Universidade Federal de Goiás
Euler Taveira de Oliveira wrote: > Hi Matthew, > > Cool. Last week I just take a look at it and have some ideas. Such as? >>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 > > I just made some of this. If you want to exchanges ideas, drop me a line. > I'll try to get what you've done and integrate it with what i've done. What have you done specifically? FYI, I will have the GUC variables done done today or tomorrow, and I have started on the new system tables already. Thanks, Matthew O'Connor
Hi Matthew, > What have you done specifically? FYI, I will have the GUC variables > done done today or tomorrow, and I have started on the new system tables > already. > Almost everything. In a couple of days it will be done, then I send it for review. -- Euler Taveira de Oliveira euler (at) ufgnet.ufg.br Desenvolvedor Web e Administrador de Sistemas UFGNet - Universidade Federal de Goiás