*** a/doc/src/sgml/config.sgml --- b/doc/src/sgml/config.sgml *************** *** 1626,1632 **** SET ENABLE_SEQSCAN TO OFF; Specifies whether transaction commit will wait for WAL records to be written to disk before the command returns a success ! indication to the client. Valid values are on, write, local, and off. The default, and safe, value is on. When off, there can be a delay between when success is reported to the client and when the transaction is --- 1626,1632 ---- Specifies whether transaction commit will wait for WAL records to be written to disk before the command returns a success ! indication to the client. Valid values are on, remote_write, local, and off. The default, and safe, value is on. When off, there can be a delay between when success is reported to the client and when the transaction is *************** *** 1646,1652 **** SET ENABLE_SEQSCAN TO OFF; If 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 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, --- 1646,1652 ---- If 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 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, *** a/doc/src/sgml/high-availability.sgml --- b/doc/src/sgml/high-availability.sgml *************** *** 1011,1017 **** primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass' ! Setting synchronous_commit to 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 on does. However, it's a practically useful setting --- 1011,1017 ---- ! Setting synchronous_commit to 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 on does. However, it's a practically useful setting *************** *** 1075,1081 **** primary_conninfo = 'host=192.168.1.50 port=5432 user=foo password=foopass' Commits made when synchronous_commit is set to on ! or write will wait until the synchronous standby responds. The response may never occur if the last, or only, standby should crash. --- 1075,1081 ---- Commits made when synchronous_commit is set to on ! or remote_write will wait until the synchronous standby responds. The response may never occur if the last, or only, standby should crash. *** a/src/backend/utils/misc/guc.c --- b/src/backend/utils/misc/guc.c *************** *** 370,381 **** static const struct config_enum_entry constraint_exclusion_options[] = { }; /* ! * Although only "on", "off", "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}, {"on", SYNCHRONOUS_COMMIT_ON, false}, {"off", SYNCHRONOUS_COMMIT_OFF, false}, {"true", SYNCHRONOUS_COMMIT_ON, true}, --- 370,381 ---- }; /* ! * 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}, ! {"remote_write", SYNCHRONOUS_COMMIT_REMOTE_WRITE, false}, {"on", SYNCHRONOUS_COMMIT_ON, false}, {"off", SYNCHRONOUS_COMMIT_OFF, false}, {"true", SYNCHRONOUS_COMMIT_ON, true}, *** a/src/backend/utils/misc/postgresql.conf.sample --- b/src/backend/utils/misc/postgresql.conf.sample *************** *** 162,168 **** #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 #wal_sync_method = fsync # the default is the first option # supported by the operating system: # open_datasync --- 162,169 ---- #wal_level = minimal # minimal, archive, or hot_standby # (change requires restart) #fsync = on # turns forced synchronization on or off ! #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