summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorPeter Eisentraut2017-07-02 04:10:57 +0000
committerPeter Eisentraut2017-07-02 04:10:57 +0000
commit2dca03439f1f88e9102aa6bf613b434be0697dae (patch)
tree30abd409bc65bded8c62a696d933b594d73b6b17 /doc/src
parentd8b3c81335600ad3487ca9bd642ef354d62919dc (diff)
doc: Document that logical replication supports synchronous replication
Update the documentation a bit to include that logical replication as well as other and third-party replication clients can participate in synchronous replication.
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/config.sgml29
-rw-r--r--doc/src/sgml/high-availability.sgml12
-rw-r--r--doc/src/sgml/logical-replication.sgml8
3 files changed, 39 insertions, 10 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 2485e6190d..80d1679b14 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -3074,7 +3074,19 @@ include_dir 'conf.d'
(as shown by a state of <literal>streaming</literal> in the
<link linkend="monitoring-stats-views-table">
<literal>pg_stat_replication</></link> view).
- Specifying more than one standby names can allow very high availability.
+ Specifying more than one synchronous standby can allow for very high
+ availability and protection against data loss.
+ </para>
+ <para>
+ The name of a standby server for this purpose is the
+ <varname>application_name</> setting of the standby, as set in the
+ standby's connection information. In case of a physical replication
+ standby, this should be set in the <varname>primary_conninfo</>
+ setting in <filename>recovery.conf</filename>; the default
+ is <literal>walreceiver</literal>. For logical replication, this can
+ be set in the connection information of the subscription, and it
+ defaults to the subscription name. For other replication stream
+ consumers, consult their documentation.
</para>
<para>
This parameter specifies a list of standby servers using
@@ -3136,15 +3148,12 @@ ANY <replaceable class="parameter">num_sync</replaceable> ( <replaceable class="
as a synchronous standby.
</para>
<para>
- The name of a standby server for this purpose is the
- <varname>application_name</> setting of the standby, as set in the
- <varname>primary_conninfo</> of the standby's WAL receiver. There is
- no mechanism to enforce uniqueness. In case of duplicates one of the
- matching standbys will be considered as higher priority, though
- exactly which one is indeterminate.
- The special entry <literal>*</> matches any
- <varname>application_name</>, including the default application name
- of <literal>walreceiver</>.
+ The special entry <literal>*</> matches any standby name.
+ </para>
+ <para>
+ There is no mechanism to enforce uniqueness of standby names. In case
+ of duplicates one of the matching standbys will be considered as
+ higher priority, though exactly which one is indeterminate.
</para>
<note>
<para>
diff --git a/doc/src/sgml/high-availability.sgml b/doc/src/sgml/high-availability.sgml
index e41df791b7..138bdf2a75 100644
--- a/doc/src/sgml/high-availability.sgml
+++ b/doc/src/sgml/high-availability.sgml
@@ -1056,6 +1056,18 @@ primary_slot_name = 'node_a_slot'
require commit waits, including both prepare and commit.
</para>
+ <para>
+ A synchronous standby can be a physical replication standby or a logical
+ replication subscriber. It can also be any other physical or logical WAL
+ replication stream consumer that knows how to send the appropriate
+ feedback messages. Besides the built-in physical and logical replication
+ systems, this includes special programs such
+ as <command>pg_receivewal</command> and <command>pg_recvlogical</command>
+ as well as some third-party replication systems and custom programs.
+ Check the respective documentation for details on synchronous replication
+ support.
+ </para>
+
<sect3 id="synchronous-replication-config">
<title>Basic Configuration</title>
diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml
index fa8ae536d9..6576272458 100644
--- a/doc/src/sgml/logical-replication.sgml
+++ b/doc/src/sgml/logical-replication.sgml
@@ -185,6 +185,14 @@
</para>
<para>
+ A logical replication subscription can be a standby for synchronous
+ replication (see <xref linkend="synchronous-replication">). The standby
+ name is by default the subscription name. An alternative name can be
+ specified as <literal>application_name</literal> in the connection
+ information of the subscription.
+ </para>
+
+ <para>
Subscriptions are dumped by <command>pg_dump</command> if the current user
is a superuser. Otherwise a warning is written and subscriptions are
skipped, because non-superusers cannot read all subscription information