summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2006-03-07 17:32:22 +0000
committerTom Lane2006-03-07 17:32:22 +0000
commite6107da53c93dc188e257d72c3412510d2584093 (patch)
treee9ddd353c65f196e42ccf255444662643b8f3e1e
parent8d51c276ca8003ee973ba88d4fc4ffcc75bcec52 (diff)
Turn off zero_damaged_pages in the right place (ie, in the autovac
process not in the postmaster) and with the right GucSource (needs to be a nontransactional source since we've not started an xact yet).
-rw-r--r--src/backend/postmaster/autovacuum.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c
index 76295f47dd2..d98f47f9b73 100644
--- a/src/backend/postmaster/autovacuum.c
+++ b/src/backend/postmaster/autovacuum.c
@@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/postmaster/autovacuum.c,v 1.14 2006/03/07 03:03:09 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/postmaster/autovacuum.c,v 1.15 2006/03/07 17:32:22 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -125,9 +125,6 @@ autovac_start(void)
if (!AutoVacuumingActive())
return 0;
- /* Even if zero_damaged_pages is true, we don't want autovacuum zeroing. */
- SetConfigOption("zero_damaged_pages", "false", PGC_SUSET, PGC_S_SESSION);
-
/*
* Do nothing if too soon since last autovacuum exit. This limits how
* often the daemon runs. Since the time per iteration can be quite
@@ -307,6 +304,13 @@ AutoVacMain(int argc, char *argv[])
PG_SETMASK(&UnBlockSig);
+ /*
+ * Force zero_damaged_pages OFF in the autovac process, even if it is
+ * set in postgresql.conf. We don't really want such a dangerous option
+ * being applied non-interactively.
+ */
+ SetConfigOption("zero_damaged_pages", "false", PGC_SUSET, PGC_S_OVERRIDE);
+
/* Get a list of databases */
dblist = autovac_get_database_list();