summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane2010-07-03 21:23:58 +0000
committerTom Lane2010-07-03 21:23:58 +0000
commitaceedd88f612472dae447fb59077abe8ed22f1f6 (patch)
treee1ddff71f3f28629420b79bd6a12277492a2ebae /src
parente76c1a0f4d2127f11c72c02b3d73a5dcb4517173 (diff)
Make vacuum_defer_cleanup_age be PGC_SIGHUP level, since it's not sensible
to have different values in different processes of the primary server. Also put it into the "Streaming Replication" GUC category; it doesn't belong in "Standby Servers" because you use it on the master not the standby. In passing also correct guc.c's idea of wal_keep_segments' category.
Diffstat (limited to 'src')
-rw-r--r--src/backend/storage/ipc/procarray.c12
-rw-r--r--src/backend/utils/misc/guc.c8
-rw-r--r--src/backend/utils/misc/postgresql.conf.sample2
3 files changed, 15 insertions, 7 deletions
diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c
index 8cef305239f..9163bc68c41 100644
--- a/src/backend/storage/ipc/procarray.c
+++ b/src/backend/storage/ipc/procarray.c
@@ -37,7 +37,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/storage/ipc/procarray.c,v 1.70 2010/05/14 07:11:49 sriggs Exp $
+ * $PostgreSQL: pgsql/src/backend/storage/ipc/procarray.c,v 1.71 2010/07/03 21:23:58 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1117,7 +1117,15 @@ GetOldestXmin(bool allDbs, bool ignoreVacuum)
LWLockRelease(ProcArrayLock);
/*
- * Compute the cutoff XID, being careful not to generate a "permanent" XID
+ * Compute the cutoff XID, being careful not to generate a "permanent" XID.
+ *
+ * vacuum_defer_cleanup_age provides some additional "slop" for the
+ * benefit of hot standby queries on slave servers. This is quick and
+ * dirty, and perhaps not all that useful unless the master has a
+ * predictable transaction rate, but it's what we've got. Note that
+ * we are assuming vacuum_defer_cleanup_age isn't large enough to cause
+ * wraparound --- so guc.c should limit it to no more than the xidStopLimit
+ * threshold in varsup.c.
*/
result -= vacuum_defer_cleanup_age;
if (!TransactionIdIsNormal(result))
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index f2caad2cd9a..ac7f1a26fc2 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -10,7 +10,7 @@
* Written by Peter Eisentraut <peter_e@gmx.net>.
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.558 2010/07/03 20:43:58 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.559 2010/07/03 21:23:58 tgl Exp $
*
*--------------------------------------------------------------------
*/
@@ -1631,8 +1631,8 @@ static struct config_int ConfigureNamesInt[] =
},
{
- {"vacuum_defer_cleanup_age", PGC_USERSET, WAL_STANDBY_SERVERS,
- gettext_noop("Age by which VACUUM and HOT cleanup should be deferred, if any."),
+ {"vacuum_defer_cleanup_age", PGC_SIGHUP, WAL_REPLICATION,
+ gettext_noop("Number of transactions by which VACUUM and HOT cleanup should be deferred, if any."),
NULL
},
&vacuum_defer_cleanup_age,
@@ -1675,7 +1675,7 @@ static struct config_int ConfigureNamesInt[] =
},
{
- {"wal_keep_segments", PGC_SIGHUP, WAL_CHECKPOINTS,
+ {"wal_keep_segments", PGC_SIGHUP, WAL_REPLICATION,
gettext_noop("Sets the number of WAL files held for standby servers."),
NULL
},
diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample
index e765664ecc0..a3b145796d0 100644
--- a/src/backend/utils/misc/postgresql.conf.sample
+++ b/src/backend/utils/misc/postgresql.conf.sample
@@ -188,6 +188,7 @@
#max_wal_senders = 0 # max number of walsender processes
#wal_sender_delay = 200ms # walsender cycle time, 1-10000 milliseconds
#wal_keep_segments = 0 # in logfile segments, 16MB each; 0 disables
+#vacuum_defer_cleanup_age = 0 # number of xacts by which cleanup is delayed
# - Standby Servers -
@@ -198,7 +199,6 @@
#max_standby_streaming_delay = 30s # max delay before canceling queries
# when reading streaming WAL;
# -1 allows indefinite delay
-#vacuum_defer_cleanup_age = 0 # number of transactions by which cleanup is deferred
#------------------------------------------------------------------------------