aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorAmit Kapila <akapila@postgresql.org>2023-12-26 10:30:42 +0530
committerAmit Kapila <akapila@postgresql.org>2023-12-26 10:31:50 +0530
commit0eac3c798c2d223d6557a5440d7534317dbd4fa0 (patch)
tree722cd0f704f46eca309edd103a879f9d4351e66e /doc/src
parentbad0763a4d7be3005eae35d460c73ac4bc7ebaad (diff)
downloadpostgresql-0eac3c798c2d223d6557a5440d7534317dbd4fa0.tar.gz
postgresql-0eac3c798c2d223d6557a5440d7534317dbd4fa0.zip
Doc: Add missing pgoutput options.
We forgot to update the docs while adding new options in pgoutput. Author: Emre Hasegeli Reviewed-by: Peter Smith, Amit Kapila Backpatch-through: 12 Discussion: https://postgr.es/m/CAE2gYzwdwtUbs-tPSV-QBwgTubiyGD2ZGsSnAVsDfAGGLDrGOA%40mail.gmail.com
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/logical-replication.sgml5
-rw-r--r--doc/src/sgml/protocol.sgml85
2 files changed, 84 insertions, 6 deletions
diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml
index 1bb85e4ad98..ec2130669ee 100644
--- a/doc/src/sgml/logical-replication.sgml
+++ b/doc/src/sgml/logical-replication.sgml
@@ -535,7 +535,7 @@ test_sub=# SELECT * FROM t3;
remote replication slot was not created automatically, the user must create
it manually before the subscription can be activated. The steps to create
the slot and activate the subscription are shown in the following examples.
- These examples specify the standard logical decoding plugin
+ These examples specify the standard logical decoding output plugin
(<literal>pgoutput</literal>), which is what the built-in logical
replication uses.
</para>
@@ -1662,7 +1662,8 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
implemented by <literal>walsender</literal> and <literal>apply</literal>
processes. The walsender process starts logical decoding (described
in <xref linkend="logicaldecoding"/>) of the WAL and loads the standard
- logical decoding plugin (pgoutput). The plugin transforms the changes read
+ logical decoding output plugin (<literal>pgoutput</literal>). The plugin
+ transforms the changes read
from WAL to the logical replication protocol
(see <xref linkend="protocol-logical-replication"/>) and filters the data
according to the publication specification. The data is then continuously
diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml
index 9a66918171a..6c3e8a631d7 100644
--- a/doc/src/sgml/protocol.sgml
+++ b/doc/src/sgml/protocol.sgml
@@ -2545,7 +2545,10 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
<term><replaceable class="parameter">option_name</replaceable></term>
<listitem>
<para>
- The name of an option passed to the slot's logical decoding plugin.
+ The name of an option passed to the slot's logical decoding output
+ plugin. See <xref linkend="protocol-logical-replication"/> for
+ options that are accepted by the standard (<literal>pgoutput</literal>)
+ plugin.
</para>
</listitem>
</varlistentry>
@@ -3106,12 +3109,18 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
the physical streaming replication protocol.
</para>
+ <para>
+ <productname>PostgreSQL</productname> logical decoding supports output
+ plugins. <literal>pgoutput</literal> is the standard one used for
+ the built-in logical replication.
+ </para>
+
<sect2 id="protocol-logical-replication-params">
<title>Logical Streaming Replication Parameters</title>
<para>
- The logical replication <literal>START_REPLICATION</literal> command
- accepts following parameters:
+ Using the <literal>START_REPLICATION</literal> command,
+ <literal>pgoutput</literal> accepts the following options:
<variablelist>
<varlistentry>
@@ -3121,7 +3130,8 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
<listitem>
<para>
Protocol version. Currently versions <literal>1</literal>, <literal>2</literal>,
- <literal>3</literal>, and <literal>4</literal> are supported.
+ <literal>3</literal>, and <literal>4</literal> are supported. A valid
+ version is required.
</para>
<para>
Version <literal>2</literal> is supported only for server version 14
@@ -3148,6 +3158,73 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
Comma separated list of publication names for which to subscribe
(receive changes). The individual publication names are treated
as standard objects names and can be quoted the same as needed.
+ At least one publication name is required.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ binary
+ </term>
+ <listitem>
+ <para>
+ Boolean option to use binary transfer mode. Binary mode is faster
+ than the text mode but slightly less robust.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ messages
+ </term>
+ <listitem>
+ <para>
+ Boolean option to enable sending the messages that are written
+ by <function>pg_logical_emit_message</function>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ streaming
+ </term>
+ <listitem>
+ <para>
+ Boolean option to enable streaming of in-progress transactions.
+ It accepts an additional value "parallel" to enable sending extra
+ information with some messages to be used for parallelisation.
+ Minimum protocol version 2 is required to turn it on. Minimum protocol
+ version 4 is required for the "parallel" option.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ two_phase
+ </term>
+ <listitem>
+ <para>
+ Boolean option to enable two-phase transactions. Minimum protocol
+ version 3 is required to turn it on.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ origin
+ </term>
+ <listitem>
+ <para>
+ Option to send changes by their origin. Possible values are "none"
+ to only send the changes that have no origin associated, or "any"
+ to send the changes regardless of their origin. This can be used
+ to avoid loops (infinite replication of the same data) among
+ replication nodes.
</para>
</listitem>
</varlistentry>