From ea6a2d8d47b9368f50fb7f4cca206895e6127a0a Mon Sep 17 00:00:00 2001 From: Robert Haas <rhaas@postgresql.org> Date: Sat, 14 Apr 2012 10:53:22 -0400 Subject: [PATCH] Rename synchronous_commit='write' to 'remote_write'. Fujii Masao, per discussion on pgsql-hackers --- doc/src/sgml/config.sgml | 4 ++-- doc/src/sgml/high-availability.sgml | 4 ++-- src/backend/utils/misc/guc.c | 4 ++-- src/backend/utils/misc/postgresql.conf.sample | 3 ++- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 361ad7b99a5..cffca4e46c9 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -1626,7 +1626,7 @@ SET ENABLE_SEQSCAN TO OFF; <para> Specifies whether transaction commit will wait for WAL records to be written to disk before the command returns a <quote>success</> - indication to the client. Valid values are <literal>on</>, <literal>write</>, + indication to the client. Valid values are <literal>on</>, <literal>remote_write</>, <literal>local</>, and <literal>off</>. The default, and safe, value is <literal>on</>. When <literal>off</>, there can be a delay between when success is reported to the client and when the transaction is @@ -1646,7 +1646,7 @@ SET ENABLE_SEQSCAN TO OFF; If <xref linkend="guc-synchronous-standby-names"> is set, this parameter also controls whether or not transaction commit will wait for the transaction's WAL records to be flushed to disk and replicated - to the standby server. When <literal>write</>, the commit wait will + to the standby server. When <literal>remote_write</>, the commit wait will last until a reply from the current synchronous standby indicates it has received the commit record of the transaction to memory. Normally this causes no data loss at the time of failover. However, diff --git a/doc/src/sgml/high-availability.sgml b/doc/src/sgml/high-availability.sgml index 64e4319bf6d..c268bfb8d3f 100644 --- a/doc/src/sgml/high-availability.sgml +++ b/doc/src/sgml/high-availability.sgml @@ -1011,7 +1011,7 @@ primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass' </para> <para> - Setting <varname>synchronous_commit</> to <literal>write</> will + Setting <varname>synchronous_commit</> to <literal>remote_write</> will cause each commit to wait for confirmation that the standby has received the commit record to memory. This provides a lower level of durability than <literal>on</> does. However, it's a practically useful setting @@ -1075,7 +1075,7 @@ primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass' <para> Commits made when <varname>synchronous_commit</> is set to <literal>on</> - or <literal>write</> will wait until the synchronous standby responds. The response + or <literal>remote_write</> will wait until the synchronous standby responds. The response may never occur if the last, or only, standby should crash. </para> diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 8ea391a8e6c..47a18110c1d 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -370,12 +370,12 @@ static const struct config_enum_entry constraint_exclusion_options[] = { }; /* - * Although only "on", "off", "write", and "local" are documented, we + * Although only "on", "off", "remote_write", 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_FLUSH, false}, - {"write", SYNCHRONOUS_COMMIT_REMOTE_WRITE, false}, + {"remote_write", SYNCHRONOUS_COMMIT_REMOTE_WRITE, false}, {"on", SYNCHRONOUS_COMMIT_ON, false}, {"off", SYNCHRONOUS_COMMIT_OFF, false}, {"true", SYNCHRONOUS_COMMIT_ON, true}, diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample index cbae3bfb228..0ac7533bebd 100644 --- a/src/backend/utils/misc/postgresql.conf.sample +++ b/src/backend/utils/misc/postgresql.conf.sample @@ -162,7 +162,8 @@ #wal_level = minimal # minimal, archive, or hot_standby # (change requires restart) #fsync = on # turns forced synchronization on or off -#synchronous_commit = on # synchronization level; on, off, or local +#synchronous_commit = on # synchronization level; + # off, local, remote_write, or on #wal_sync_method = fsync # the default is the first option # supported by the operating system: # open_datasync -- GitLab