Re: Request for further clarification on synchronous_commit - Mailing list pgsql-docs

From Bruce Momjian
Subject Re: Request for further clarification on synchronous_commit
Date
Msg-id 20200817174727.GA28474@momjian.us
Whole thread Raw
In response to Request for further clarification on synchronous_commit  (PG Doc comments form <noreply@postgresql.org>)
Responses Re: Request for further clarification on synchronous_commit  (Kasper Kondzielski <kghost0@gmail.com>)
List pgsql-docs
On Fri, Aug 14, 2020 at 01:32:35PM +0000, PG Doc comments form wrote:
> The following documentation comment has been logged on the website:
> 
> Page: https://www.postgresql.org/docs/12/runtime-config-wal.html
> Description:
> 
> Hello,
> 
> First of all I would like to say that PostgreSQL has the best documentation
> I've ever seen. It is very clear and comprehensive. That's the main reason
> why I decided to add my little 2 cents and make it even better. 
> 
> I think that the distinction between first three values of
> synchronous_commit parameter is not clear enough
> (https://www.postgresql.org/docs/12/runtime-config-wal.html#RUNTIME-CONFIG-WAL-SETTINGS).
> 
> " When set to on, commits will wait until replies from the current
> synchronous standby(s) indicate they have received the commit record of the
> transaction and flushed it to disk. This ensures the transaction will not be
> lost unless both the primary and all synchronous standbys suffer corruption
> of their database storage. When set to remote_apply, commits will wait until
> replies from the current synchronous standby(s) indicate they have received
> the commit record of the transaction and applied it, so that it has become
> visible to queries on the standby(s). When set to remote_write, commits will
> wait until replies from the current synchronous standby(s) indicate they
> have received the commit record of the transaction and written it out to
> their operating system. This setting is sufficient to ensure data
> preservation even if a standby instance of PostgreSQL were to crash, but not
> if the standby suffers an operating-system-level crash, since the data has
> not necessarily reached stable storage on the standby"
> 
> The last sentence : "This setting is sufficient to ensure data preservation
> even if a standby instance..." seems to refer only to the remote_write
> option while in my option it should refer to both remote_write and
> remote_apply options, as the fsync is performed only when synchronous_commit
> is set to ON.
> 
> In other words I think that the documentation should be more clear in terms
> of which option uses fsync.

I think this paragraph just has just too complex.  I have moved the
mention of remote_apply into its own paragraph, and simplified the
sentences about remote_write.  Is this attached patch better?

-- 
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EnterpriseDB                             https://enterprisedb.com

  The usefulness of a cup is in its emptiness, Bruce Lee


Attachment

pgsql-docs by date:

Previous
From: Tom Lane
Date:
Subject: Re: Inaccurate description of UNION/CASE/etc type selection
Next
From: "David G. Johnston"
Date:
Subject: Re: Inaccurate description of UNION/CASE/etc type selection