On Tue, 2019-07-16 at 14:05 +0900, Michael Paquier wrote:
> >> How about
> >> Note that while WAL will be flushed with this setting,
> >> <application>pg_receivewal</application> never applies it, so
> >> <xref linkend="guc-synchronous-commit"/> must not be set to
> >> <literal>remote_apply</literal> if <application>pg_receivewal</application>
> >> is the only synchronous standby.
>
> This is not true in all cases as since 9.6 it is possible to specify
> multiple synchronous standbys. So if for example pg_receivewal and
> another synchronous standby are set in s_s_names and that the number
> of a FIRST (priority-based) or ANY (quorum set) is two, then the same
> issue exists, but this documentation is incorrect. I think that we
> should have a more extensive wording here, like "if pg_receivewal is
> part of a quorum-based or priority-based set of synchronous standbys."
I think this would be overly complicated.
The wording above seems to cover the priority-based base sufficiently
in my opinion.
Maybe a second sentence with more detail would be better:
... must not be set to <literal>remote_apply</literal> if
<application>pg_receivewal</application> is the only synchronous standby.
Similarly, if <application>pg_receivewal</application> is part of
a quorum-based set of synchronous standbys, it won't count towards
the quorum if <xref linkend="guc-synchronous-commit"/> is set to
<literal>remote_apply</literal>.
Yours,
Laurenz Albe