diff options
author | Tom Lane | 2010-07-03 21:23:58 +0000 |
---|---|---|
committer | Tom Lane | 2010-07-03 21:23:58 +0000 |
commit | aceedd88f612472dae447fb59077abe8ed22f1f6 (patch) | |
tree | e1ddff71f3f28629420b79bd6a12277492a2ebae /src | |
parent | e76c1a0f4d2127f11c72c02b3d73a5dcb4517173 (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.c | 12 | ||||
-rw-r--r-- | src/backend/utils/misc/guc.c | 8 | ||||
-rw-r--r-- | src/backend/utils/misc/postgresql.conf.sample | 2 |
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 #------------------------------------------------------------------------------ |