diff options
Diffstat (limited to 'src/backend/utils/misc')
-rw-r--r-- | src/backend/utils/misc/guc.c | 43 | ||||
-rw-r--r-- | src/backend/utils/misc/postgresql.conf.sample | 6 |
2 files changed, 28 insertions, 21 deletions
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index b49bdaea9d0..1f7a7d24f83 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -351,6 +351,23 @@ static const struct config_enum_entry constraint_exclusion_options[] = { }; /* + * Although only "on", "off", and "local" are documented, we + * accept all the likely variants of "on" and "off". + */ +static const struct config_enum_entry synchronous_commit_options[] = { + {"local", SYNCHRONOUS_COMMIT_LOCAL, false}, + {"on", SYNCHRONOUS_COMMIT_ON, false}, + {"off", SYNCHRONOUS_COMMIT_OFF, false}, + {"true", SYNCHRONOUS_COMMIT_ON, true}, + {"false", SYNCHRONOUS_COMMIT_OFF, true}, + {"yes", SYNCHRONOUS_COMMIT_ON, true}, + {"no", SYNCHRONOUS_COMMIT_OFF, true}, + {"1", SYNCHRONOUS_COMMIT_ON, true}, + {"0", SYNCHRONOUS_COMMIT_OFF, true}, + {NULL, 0, false} +}; + +/* * Options for enum values stored in other modules */ extern const struct config_enum_entry wal_level_options[]; @@ -747,22 +764,6 @@ static struct config_bool ConfigureNamesBool[] = true, NULL, NULL }, { - {"synchronous_commit", PGC_USERSET, WAL_SETTINGS, - gettext_noop("Sets immediate fsync at commit."), - NULL - }, - &XactSyncCommit, - true, NULL, NULL - }, - { - {"synchronous_replication", PGC_USERSET, WAL_REPLICATION, - gettext_noop("Requests synchronous replication."), - NULL - }, - &synchronous_replication, - false, NULL, NULL - }, - { {"zero_damaged_pages", PGC_SUSET, DEVELOPER_OPTIONS, gettext_noop("Continues processing past damaged page headers."), gettext_noop("Detection of a damaged page header normally causes PostgreSQL to " @@ -2909,6 +2910,16 @@ static struct config_enum ConfigureNamesEnum[] = }, { + {"synchronous_commit", PGC_USERSET, WAL_SETTINGS, + gettext_noop("Sets the current transaction's synchronization level."), + NULL + }, + &synchronous_commit, + SYNCHRONOUS_COMMIT_ON, synchronous_commit_options, + NULL, NULL + }, + + { {"trace_recovery_messages", PGC_SIGHUP, DEVELOPER_OPTIONS, gettext_noop("Enables logging of recovery-related debugging information."), gettext_noop("Each level includes all the levels that follow it. The later" diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample index 43481859993..b8a1582eaa9 100644 --- a/src/backend/utils/misc/postgresql.conf.sample +++ b/src/backend/utils/misc/postgresql.conf.sample @@ -153,7 +153,7 @@ #wal_level = minimal # minimal, archive, or hot_standby # (change requires restart) #fsync = on # turns forced synchronization on or off -#synchronous_commit = on # immediate fsync at commit +#synchronous_commit = on # synchronization level; on, off, or local #wal_sync_method = fsync # the default is the first option # supported by the operating system: # open_datasync @@ -184,10 +184,6 @@ #archive_timeout = 0 # force a logfile segment switch after this # number of seconds; 0 disables -# - Replication - User Settings - -#synchronous_replication = off # does commit wait for reply from standby - # - Streaming Replication - Server Settings #synchronous_standby_names = '' # standby servers that provide sync rep |