head	1.4;
access;
symbols
	REL7_4_29:1.2.4.1
	REL8_0_25:1.3
	REL7_4_28:1.2.4.1
	REL8_0_24:1.3
	REL7_4_27:1.2.4.1
	REL8_0_23:1.3
	REL7_4_26:1.2.4.1
	REL8_0_22:1.3
	REL7_4_25:1.2.4.1
	REL8_0_21:1.3
	REL7_4_24:1.2.4.1
	REL8_0_20:1.3
	REL7_4_23:1.2.4.1
	REL8_0_19:1.3
	REL7_4_22:1.2.4.1
	REL8_0_18:1.3
	REL7_4_21:1.2.4.1
	REL8_0_17:1.3
	REL7_4_20:1.2.4.1
	REL8_0_16:1.3
	REL7_4_19:1.2.4.1
	REL8_0_15:1.3
	REL7_4_18:1.2.4.1
	REL8_0_14:1.3
	REL7_4_17:1.2.4.1
	REL8_0_13:1.3
	REL8_0_12:1.3
	REL7_4_16:1.2.4.1
	REL8_0_11:1.3
	REL8_0_10:1.3
	REL7_4_15:1.2.4.1
	REL8_0_9:1.3
	REL7_4_14:1.2.4.1
	REL7_4_13:1.2.4.1
	REL8_0_8:1.3
	REL7_4_12:1.2.4.1
	REL8_0_7:1.3
	REL7_4_11:1.2.4.1
	REL8_0_6:1.3
	REL7_4_10:1.2.4.1
	REL8_0_5:1.3
	REL7_4_9:1.2.4.1
	REL8_0_4:1.3
	REL7_4_8:1.2.4.1
	REL8_0_3:1.3
	REL8_0_2:1.3
	REL7_4_7:1.2.4.1
	REL8_0_1:1.3
	REL8_0_STABLE:1.3.0.4
	REL8_0_0:1.3.0.2
	REL8_0_0RC5:1.3
	REL8_0_0RC4:1.3
	REL8_0_0RC3:1.3
	REL8_0_0RC2:1.3
	REL8_0_0RC1:1.3
	REL8_0_0BETA5:1.3
	REL8_0_0BETA4:1.3
	REL7_4_6:1.2.4.1
	REL8_0_0BETA3:1.3
	REL8_0_0BETA2:1.3
	REL7_4_5:1.2.4.1
	REL7_4_4:1.2.4.1
	REL8_0_0BETA1:1.3
	REL7_4_3:1.2.4.1
	REL7_4_2:1.2
	REL7_4_1:1.2
	REL7_4:1.2
	REL7_4_RC2:1.2
	REL7_4_STABLE:1.2.0.4
	REL7_4_RC1:1.2
	REL7_4_BETA5:1.2
	REL7_4_BETA4:1.2
	REL7_4_BETA3:1.2
	REL7_4_BETA2:1.2
	WIN32_DEV:1.2.0.2
	REL7_4_BETA1:1.2;
locks; strict;
comment	@# @;


1.4
date	2005.07.29.19.38.22;	author tgl;	state dead;
branches;
next	1.3;

1.3
date	2004.03.22.03.57.08;	author momjian;	state Exp;
branches;
next	1.2;

1.2
date	2003.06.12.01.36.44;	author momjian;	state Exp;
branches
	1.2.4.1;
next	1.1;

1.1
date	2003.03.20.18.14.46;	author momjian;	state Exp;
branches;
next	;

1.2.4.1
date	2004.03.22.03.57.19;	author momjian;	state Exp;
branches;
next	;


desc
@@


1.4
log
@Remove contrib version of pg_autovacuum --- superseded by integrated
version.
@
text
@Todo Items for pg_autovacuum client
--------------------------------------------------------------------------

_Add Startup Message (with datetime stamp) to Logfile when starting and logging 

_create a FSM export function and see if I can use it for pg_autovacuum

_look into possible benifits of pgstattuple contrib work

_Continue trying to reduce server load created by polling.

Done:
--------------------------------------------------------------------------
_Check if required pg_stats are enables, if not exit with error

_Reduce the number connections and queries to the server
	_Make database adding and removal part of the normal loop
	_make table adding and removal part of the normal loop

_Separate logic for vacuum and analyze

_all pg_autovacuum specific functions are now static

_correct usage of snprintf

_reworked database and table update functions, now they
	use the existing database connection and only one query

_fixed -h option output

_cleanup of 'constant == variable' used much more consistently now.

_Guarantee database wide vacuum prior to Xid wraparound

_change name to pg_autovacuum

_Add proper table and database removal functions so that we can properly
	clear up before we exit, and make sure we don't leak memory when removing tables and such.

_Decouple insert and delete thresholds

_Fix Vacuum debug routine to include the database name.

_Allow it to detach from the tty

@


1.3
log
@In working through a pg_autovacuum problem with Joe Conway (which turned
out to be the same problem reported by Cott Lang which the previous
patch resolved) a new bug was uncovered when running with a debug level
of greater than 1.

This patch resolves this new found bug and fixes some of the other
debugging output to be more consistent.

Please apply to both HEAD and the 7.4 branch.


Matthew T. O'Connor
@
text
@@


1.2
log
@This patch updates pg_autovacuum in several ways:
* A few bug fixes
* fixes solaris compile and crash issue
* decouple vacuum analyze and analyze thresholds
* detach from tty (dameonize)
* improved logging layout
* more conservative default configuration
* improved, expanded and updated README

please apply and 1st convenience, or before code freeze which ever comes
first :-)

At this point I think I have brought pg_autovacuum and its client side
design as far as I think it should go.  It works, keeping file sizes in
check, helps performance and give the administrator a fair amount
flexibility in configuring it.

Next up is to do the FSM based design that is integrated into the back
end.

p.s. Thanks to Christopher Browne for his help.

Matthew T. O'Connor
@
text
@d4 2
@


1.2.4.1
log
@In working through a pg_autovacuum problem with Joe Conway (which turned
out to be the same problem reported by Cott Lang which the previous
patch resolved) a new bug was uncovered when running with a debug level
of greater than 1.

This patch resolves this new found bug and fixes some of the other
debugging output to be more consistent.

Please apply to both HEAD and the 7.4 branch.


Matthew T. O'Connor
@
text
@a3 2
_Add Startup Message (with datetime stamp) to Logfile when starting and logging 

@


1.1
log
@I have updated my pg_autovacuum program (formerly pg_avd, the name
changed as per discussion on the patches list).

This version should be a good bit better.  It addresses all the issues
pointed out by Neil Conway. Vacuum and Analyze are now handled
separately.  It now monitors for xid wraparound.  The number of database
connections and queries has been significantly reduced compared the
previous version.  I have moved it from bin to contrib.  More detail on
the changes are in the TODO file.

I have not tested the xid wraparound code as I have to let my AthlonXP
1600 run select 1 in a tight loop for approx. two days in order to
perform the required 500,000,000 xacts.

Matthew T. O'Connor
@
text
@d2 1
a2 2

_Allow it to detach from the tty
d11 1
d37 7
@

