Ok, based on feedback from Tom and Peter, here is another stab at moving
pg_autovacuum from: contrib/pg_autovacuum to: src/backend/postmaster
In summary pg_autovacuum.c has to be moved to src/backend/postmaster,
pg_autovacuum.h moves to src/include. The apply the attached patch
which makes the required changes to src/include/pg_autovacuum.h,
contrib/Makefile and src/backend/postmaster/Makefile.
Please review my changes to src/backen/postmaster/Makefile as my make
skill are very limited and I would bet there is better way to do it.
Also, this keeps pg_autovacuum as a stand-alone executable for the time
being. Time permitting, I will make the postmaster launch and kill this
app as needed, or fold it into the postmaster more like the stats
collector. But for now this gets it out of contrib.
Matthew O'Connor
*** ./contrib/Makefile.orig 2004-05-29 04:22:36.628996015 -0400
--- ./contrib/Makefile 2004-05-29 04:22:44.104175838 -0400
***************
*** 24,30 ****
miscutil \
noupdate \
oid2name \
- pg_autovacuum \
pg_dumplo \
pg_logger \
pgbench \
--- 24,29 ----
*** ./src/backend/postmaster/Makefile.orig 2004-05-29 02:46:53.000000000 -0400
--- ./src/backend/postmaster/Makefile 2004-05-29 04:05:47.000000000 -0400
***************
*** 12,29 ****
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
! OBJS = postmaster.o pgstat.o
! all: SUBSYS.o
SUBSYS.o: $(OBJS)
$(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
depend dep:
$(CC) -MM $(CFLAGS) *.c >depend
clean:
! rm -f SUBSYS.o $(OBJS)
ifeq (depend,$(wildcard depend))
include depend
--- 12,35 ----
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
! OBJS = postmaster.o pgstat.o
! all: submake-libpq SUBSYS.o pg_autovacuum
SUBSYS.o: $(OBJS)
$(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
+ pg_autovacuum: pg_autovacuum.o
+ $(CC) $(CFLAGS) -I $(libpq_srcdir) -DFRONTEND pg_autovacuum.o $(libpq) $(LDFLAGS) $(LIBS) -o [EMAIL PROTECTED](X)
+
+ install: all installdirs
+ $(INSTALL_PROGRAM) pg_autovacuum$(X) $(DESTDIR)$(bindir)/pg_autovacuum$(X)
+
depend dep:
$(CC) -MM $(CFLAGS) *.c >depend
clean:
! rm -f SUBSYS.o pg_autovacuum.o $(OBJS)
ifeq (depend,$(wildcard depend))
include depend
*** ./src/include/pg_autovacuum.h.orig 2004-05-29 02:44:35.000000000 -0400
--- ./src/include/pg_autovacuum.h 2004-05-29 03:24:58.000000000 -0400
***************
*** 14,20 ****
/* These next two lines are correct when pg_autovaccum is compiled
from within the postgresql source tree */
! #include "libpq-fe.h"
#include "lib/dllist.h"
/* Had to change the last two lines to compile on
Redhat outside of postgresql source tree */
--- 14,20 ----
/* These next two lines are correct when pg_autovaccum is compiled
from within the postgresql source tree */
! #include "../interfaces/libpq/libpq-fe.h"
#include "lib/dllist.h"
/* Had to change the last two lines to compile on
Redhat outside of postgresql source tree */
---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings