aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/pg_autovacuum/README.pg_autovacuum5
-rw-r--r--contrib/pg_autovacuum/pg_autovacuum.c16
-rw-r--r--contrib/pg_autovacuum/pg_autovacuum.h3
3 files changed, 18 insertions, 6 deletions
diff --git a/contrib/pg_autovacuum/README.pg_autovacuum b/contrib/pg_autovacuum/README.pg_autovacuum
index 64c5eb5353a..f20842135b8 100644
--- a/contrib/pg_autovacuum/README.pg_autovacuum
+++ b/contrib/pg_autovacuum/README.pg_autovacuum
@@ -123,6 +123,10 @@ pg_autovacuum has the following optional arguments:
-V vacuum scaling factor: see "Vacuum and Analyze" below.
-a analyze base threshold: see "Vacuum and Analyze" below.
-A analyze scaling factor: see "Vacuum and Analyze" below.
+-i update interval: how often (in terms of iterations of the primary loop
+ over the database list) to update the database list. The default is 2,
+ which means the list will be updated before every other pass through
+ the database list.
-L log file: Name of file to which output is submitted, otherwise STDERR
-U username: Username pg_autovacuum will use to connect with, if not
specified the current username is used.
@@ -157,6 +161,7 @@ the time of writing they are:
-A 1 (half of -V if not specified)
-s 300 (5 minutes)
-S 2
+-i 2
The following arguments are used on Windows only:
diff --git a/contrib/pg_autovacuum/pg_autovacuum.c b/contrib/pg_autovacuum/pg_autovacuum.c
index fdbd285f107..c0170ebd81b 100644
--- a/contrib/pg_autovacuum/pg_autovacuum.c
+++ b/contrib/pg_autovacuum/pg_autovacuum.c
@@ -4,7 +4,7 @@
* Revisions by Christopher B. Browne, Liberty RMS
* Win32 Service code added by Dave Page
*
- * $PostgreSQL: pgsql/contrib/pg_autovacuum/pg_autovacuum.c,v 1.30 2005/04/03 00:01:51 tgl Exp $
+ * $PostgreSQL: pgsql/contrib/pg_autovacuum/pg_autovacuum.c,v 1.31 2005/04/19 03:35:15 momjian Exp $
*/
#include "postgres_fe.h"
@@ -1103,6 +1103,7 @@ get_cmd_args(int argc, char *argv[])
args->analyze_base_threshold = -1;
args->analyze_scaling_factor = -1;
args->debug = AUTOVACUUM_DEBUG;
+ args->update_interval = UPDATE_INTERVAL;
#ifndef WIN32
args->daemonize = 0;
#else
@@ -1157,6 +1158,9 @@ get_cmd_args(int argc, char *argv[])
case 'A':
args->analyze_scaling_factor = atof(optarg);
break;
+ case 'i':
+ args->update_interval = atoi(optarg);
+ break;
case 'c':
args->av_vacuum_cost_delay = atoi(optarg);
break;
@@ -1341,6 +1345,8 @@ print_cmd_args(void)
log_entry(logbuffer, LVL_INFO);
sprintf(logbuffer, " args->analyze_scaling_factor=%f", args->analyze_scaling_factor);
log_entry(logbuffer, LVL_INFO);
+ sprintf(logbuffer, " args->update_interval=%i", args->update_interval);
+ log_entry(logbuffer, LVL_INFO);
if (args->av_vacuum_cost_delay != -1)
sprintf(logbuffer, " args->av_vacuum_cost_delay=%d", args->av_vacuum_cost_delay);
@@ -1646,8 +1652,8 @@ VacuumLoop(int argc, char **argv)
}
}
- if (loops % UPDATE_INTERVAL == 0) /* Update the list if it's
- * time */
+ if (loops % args->update_interval == 0) /* Update the list if it's
+ * time */
update_db_list(db_list); /* Add and remove databases from
* the list */
@@ -1661,8 +1667,8 @@ VacuumLoop(int argc, char **argv)
if (dbs->conn != NULL)
{
- if (loops % UPDATE_INTERVAL == 0) /* Update the list if
- * it's time */
+ if (loops % args->update_interval == 0) /* Update the list if
+ * it's time */
update_table_list(dbs); /* Add and remove tables
* from the list */
diff --git a/contrib/pg_autovacuum/pg_autovacuum.h b/contrib/pg_autovacuum/pg_autovacuum.h
index d9e476ed6a9..5c6186d7fb4 100644
--- a/contrib/pg_autovacuum/pg_autovacuum.h
+++ b/contrib/pg_autovacuum/pg_autovacuum.h
@@ -2,7 +2,7 @@
* Header file for pg_autovacuum.c
* (c) 2003 Matthew T. O'Connor
*
- * $PostgreSQL: pgsql/contrib/pg_autovacuum/pg_autovacuum.h,v 1.14 2004/12/02 22:48:10 momjian Exp $
+ * $PostgreSQL: pgsql/contrib/pg_autovacuum/pg_autovacuum.h,v 1.15 2005/04/19 03:35:15 momjian Exp $
*/
#ifndef _PG_AUTOVACUUM_H
@@ -44,6 +44,7 @@ typedef struct cmdargs
{
int vacuum_base_threshold,
analyze_base_threshold,
+ update_interval,
sleep_base_value,
debug,