*** a/doc/src/sgml/config.sgml
--- b/doc/src/sgml/config.sgml
***************
*** 1626,1632 **** 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</>,
          <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
--- 1626,1632 ----
         <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>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,1652 **** 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
          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 <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>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'
     </para>
  
     <para>
!     Setting <varname>synchronous_commit</> to <literal>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
--- 1011,1017 ----
     </para>
  
     <para>
!     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,1081 **** 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
      may never occur if the last, or only, standby should crash.
     </para>
  
--- 1075,1081 ----
  
     <para>
      Commits made when <varname>synchronous_commit</> is set to <literal>on</>
!     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>
  
*** 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
