autovacuum integration attempt #3

Started by Matthew T. O'Connorabout 22 years ago6 messagespatches
Jump to latest
#1Matthew T. O'Connor
matthew@zeut.net

Ok, here is a new patch for to integrate pg_autovacuum into the backend.

This patch adds the following to that last patch:
* updated to latest CVS
* changed GUC vars from autovac_* to autovacuum_*
* changed autovac_enabled GUC variable to autovacuum
* changed autovacuum GUC variable default to false
* improved autovacuum failure when row level stats aren't enabled

As before, this patch requires pg_autovacuum.c and .h get moved
from contrib to src/backend/postmaster and src/include/postmaster
respectively. In addition, the attached pg_autovacuum.h file must be put
in src/include/catelog/ for the new pg_autovacuum system
table.

Please apply to CVS or tell me what I need to change to get it applied.

Matthew

Attachments:

pg_autovacuum.htext/x-chdr; charset=utf-8; name=pg_autovacuum.hDownload
difftext/plain; charset=utf-8; name=diffDownload+262-67
#2Bruce Momjian
bruce@momjian.us
In reply to: Matthew T. O'Connor (#1)
Re: autovacuum integration attempt #3

I am having problem applying this. I don't think we can just move
pg_autovacuum.[ch] right into the backend code. There are issues with
include files and there is no definition for autovacuum_vacuum_base and
other variables, and there is no AutoVacMain(). I can try guessing on
those but I think I need a more complete patch or more complete
instructions to get this applied. Also, it uses the gcc-ism
__attribute__ that isn't portable to other compilers.

---------------------------------------------------------------------------

Matthew T. O'Connor wrote:

Ok, here is a new patch for to integrate pg_autovacuum into the backend.

This patch adds the following to that last patch:
* updated to latest CVS
* changed GUC vars from autovac_* to autovacuum_*
* changed autovac_enabled GUC variable to autovacuum
* changed autovacuum GUC variable default to false
* improved autovacuum failure when row level stats aren't enabled

As before, this patch requires pg_autovacuum.c and .h get moved
from contrib to src/backend/postmaster and src/include/postmaster
respectively. In addition, the attached pg_autovacuum.h file must be put
in src/include/catelog/ for the new pg_autovacuum system
table.

Please apply to CVS or tell me what I need to change to get it applied.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
#3Matthew T. O'Connor
matthew@zeut.net
In reply to: Bruce Momjian (#2)
Re: autovacuum integration attempt #3

Sorry, perhaps my initial instructions weren't clear.

You have to move the pg_autovacuum.[ch] files then apply the patch. The
patch alters them considerably. Should I submit the patch in a different
way?

Thanks,

Matthew

Show quoted text

I am having problem applying this. I don't think we can just move
pg_autovacuum.[ch] right into the backend code. There are issues with
include files and there is no definition for autovacuum_vacuum_base and
other variables, and there is no AutoVacMain(). I can try guessing on
those but I think I need a more complete patch or more complete
instructions to get this applied. Also, it uses the gcc-ism
__attribute__ that isn't portable to other compilers.

---------------------------------------------------------------------------

Matthew T. O'Connor wrote:

Ok, here is a new patch for to integrate pg_autovacuum into the backend.

This patch adds the following to that last patch:
* updated to latest CVS
* changed GUC vars from autovac_* to autovacuum_*
* changed autovac_enabled GUC variable to autovacuum
* changed autovacuum GUC variable default to false
* improved autovacuum failure when row level stats aren't enabled

As before, this patch requires pg_autovacuum.c and .h get moved
from contrib to src/backend/postmaster and src/include/postmaster
respectively. In addition, the attached pg_autovacuum.h file must be put
in src/include/catelog/ for the new pg_autovacuum system
table.

Please apply to CVS or tell me what I need to change to get it applied.

--
Bruce Momjian                        |  http://candle.pha.pa.us
pgman@candle.pha.pa.us               |  (610) 359-1001
+  If your life is a hard drive,     |  13 Roberts Road
+  Christ can be your backup.        |  Newtown Square, Pennsylvania
19073
#4Bruce Momjian
bruce@momjian.us
In reply to: Matthew T. O'Connor (#3)
Re: autovacuum integration attempt #3

Matthew T. O'Connor wrote:

Sorry, perhaps my initial instructions weren't clear.

You have to move the pg_autovacuum.[ch] files then apply the patch. The
patch alters them considerably. Should I submit the patch in a different
way?

I don't see any modifications to pg_autovacuum.[ch] in the patch in the
patches queue:

http://momjian.postgresql.org/cgi-bin/pgpatches

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
#5Matthew T. O'Connor
matthew@zeut.net
In reply to: Bruce Momjian (#4)
Re: autovacuum integration attempt #3

Ack! I sent the wrong patch... Sorry I will resend it tonight.

Show quoted text

Matthew T. O'Connor wrote:

Sorry, perhaps my initial instructions weren't clear.

You have to move the pg_autovacuum.[ch] files then apply the patch. The
patch alters them considerably. Should I submit the patch in a
different
way?

I don't see any modifications to pg_autovacuum.[ch] in the patch in the
patches queue:

http://momjian.postgresql.org/cgi-bin/pgpatches

--
Bruce Momjian                        |  http://candle.pha.pa.us
pgman@candle.pha.pa.us               |  (610) 359-1001
+  If your life is a hard drive,     |  13 Roberts Road
+  Christ can be your backup.        |  Newtown Square, Pennsylvania
19073
#6Bruce Momjian
bruce@momjian.us
In reply to: Matthew T. O'Connor (#1)
Re: autovacuum integration attempt #3

Patch withdrawn by author. Will resubmit.

---------------------------------------------------------------------------

Matthew T. O'Connor wrote:

Ok, here is a new patch for to integrate pg_autovacuum into the backend.

This patch adds the following to that last patch:
* updated to latest CVS
* changed GUC vars from autovac_* to autovacuum_*
* changed autovac_enabled GUC variable to autovacuum
* changed autovacuum GUC variable default to false
* improved autovacuum failure when row level stats aren't enabled

As before, this patch requires pg_autovacuum.c and .h get moved
from contrib to src/backend/postmaster and src/include/postmaster
respectively. In addition, the attached pg_autovacuum.h file must be put
in src/include/catelog/ for the new pg_autovacuum system
table.

Please apply to CVS or tell me what I need to change to get it applied.

Matthew

[ Attachment, skipping... ]

[ Attachment, skipping... ]

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073