PGDOCS - add more links in the pub/sub reference pages
The "Description" and "Notes" parts of the following logical
replication PUB/SUB reference pages (almost always) link to each other
whenever a sibling command gets mentioned.
CREATE PUBLICATION
ALTER PUBLICATION
DROP PUBLICATION
CREATE SUBSCRIPTION
ALTER SUBSCRIPTION
DROP SUBSCRIPTION
~
AFAICT the only omissions are:
ALTER PUBLICATION page -- mentions ALTER SUBSCRIPTION but there is no link
DROP SUBSCRIPTION page -- mentions ALTER SUBSCRIPTION but there is no link
~
Here is a patch to add the 2 missing references:
ref/alter_subscription.sgml ==> added more ids
ref/alter_publication.sgml ==> added link to
"sql-altersubscription-refresh-publication"
ref/drop_subscription.sgml ==> added link to "sql-altersubscription"
======
Kind Regards,
Peter Smith.
Fujitsu Australia
Attachments:
v1-0001-Add-more-links.patchapplication/octet-stream; name=v1-0001-Add-more-links.patchDownload
From af6badbd96a409be750172456c0b336fef39fea5 Mon Sep 17 00:00:00 2001
From: Peter Smith <peter.b.smith@fujitsu.com>
Date: Fri, 6 Oct 2023 10:00:37 +1100
Subject: [PATCH v1] Add more links
---
doc/src/sgml/ref/alter_publication.sgml | 3 ++-
doc/src/sgml/ref/alter_subscription.sgml | 20 ++++++++++----------
doc/src/sgml/ref/drop_subscription.sgml | 2 +-
3 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/doc/src/sgml/ref/alter_publication.sgml b/doc/src/sgml/ref/alter_publication.sgml
index c8424bc..51a67a7 100644
--- a/doc/src/sgml/ref/alter_publication.sgml
+++ b/doc/src/sgml/ref/alter_publication.sgml
@@ -51,7 +51,8 @@ ALTER PUBLICATION <replaceable class="parameter">name</replaceable> RENAME TO <r
<literal>ADD</literal> and <literal>DROP</literal> clauses will add and
remove one or more tables/schemas from the publication. Note that adding
tables/schemas to a publication that is already subscribed to will require an
- <literal>ALTER SUBSCRIPTION ... REFRESH PUBLICATION</literal> action on the
+ <link linkend="sql-altersubscription-refresh-publication">
+ <literal>ALTER SUBSCRIPTION ... REFRESH PUBLICATION</literal></link> action on the
subscribing side in order to become effective. Note also that
<literal>DROP TABLES IN SCHEMA</literal> will not drop any schema tables
that were specified using
diff --git a/doc/src/sgml/ref/alter_subscription.sgml b/doc/src/sgml/ref/alter_subscription.sgml
index a85e04e..a86290e 100644
--- a/doc/src/sgml/ref/alter_subscription.sgml
+++ b/doc/src/sgml/ref/alter_subscription.sgml
@@ -85,7 +85,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
<title>Parameters</title>
<variablelist>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-name">
<term><replaceable class="parameter">name</replaceable></term>
<listitem>
<para>
@@ -94,7 +94,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-connection">
<term><literal>CONNECTION '<replaceable class="parameter">conninfo</replaceable>'</literal></term>
<listitem>
<para>
@@ -105,7 +105,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-setadddrop-publication">
<term><literal>SET PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
<term><literal>ADD PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
<term><literal>DROP PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
@@ -147,7 +147,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-refresh-publication">
<term><literal>REFRESH PUBLICATION</literal></term>
<listitem>
<para>
@@ -192,7 +192,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-enable">
<term><literal>ENABLE</literal></term>
<listitem>
<para>
@@ -202,7 +202,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-disable">
<term><literal>DISABLE</literal></term>
<listitem>
<para>
@@ -212,7 +212,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-set">
<term><literal>SET ( <replaceable class="parameter">subscription_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )</literal></term>
<listitem>
<para>
@@ -232,7 +232,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-skip">
<term><literal>SKIP ( <replaceable class="parameter">skip_option</replaceable> = <replaceable class="parameter">value</replaceable> )</literal></term>
<listitem>
<para>
@@ -272,7 +272,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-new-owner">
<term><replaceable class="parameter">new_owner</replaceable></term>
<listitem>
<para>
@@ -281,7 +281,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-new-name">
<term><replaceable class="parameter">new_name</replaceable></term>
<listitem>
<para>
diff --git a/doc/src/sgml/ref/drop_subscription.sgml b/doc/src/sgml/ref/drop_subscription.sgml
index 2a67bde..f48997b 100644
--- a/doc/src/sgml/ref/drop_subscription.sgml
+++ b/doc/src/sgml/ref/drop_subscription.sgml
@@ -40,7 +40,7 @@ DROP SUBSCRIPTION [ IF EXISTS ] <replaceable class="parameter">name</replaceable
<para>
<command>DROP SUBSCRIPTION</command> cannot be executed inside a
transaction block if the subscription is associated with a replication
- slot. (You can use <command>ALTER SUBSCRIPTION</command> to unset the
+ slot. (You can use <link linkend="sql-altersubscription"><command>ALTER SUBSCRIPTION</command></link> to unset the
slot.)
</para>
</refsect1>
--
1.8.3.1
On Fri, Oct 6, 2023 at 12:15 PM Peter Smith <smithpb2250@gmail.com> wrote:
Here is a patch to add the 2 missing references:
ref/alter_subscription.sgml ==> added more ids
ref/alter_publication.sgml ==> added link to
"sql-altersubscription-refresh-publication"
ref/drop_subscription.sgml ==> added link to "sql-altersubscription"
- <varlistentry>
+ <varlistentry id="sql-altersubscription-new-owner">
<term><replaceable class="parameter">new_owner</replaceable></term>
<listitem>
<para>
@@ -281,7 +281,7 @@ ALTER SUBSCRIPTION <replaceable
class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-new-name">
<term><replaceable class="parameter">new_name</replaceable></term>
<listitem>
Shall we append 'params' in the above and other id's in the patch. For
example, sql-altersubscription-params-new-name. The other places like
alter_role.sgml and alter_table.sgml uses similar id's. Is there a
reason to be different here?
--
With Regards,
Amit Kapila.
On Mon, Oct 9, 2023 at 3:32 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
On Fri, Oct 6, 2023 at 12:15 PM Peter Smith <smithpb2250@gmail.com> wrote:
Here is a patch to add the 2 missing references:
ref/alter_subscription.sgml ==> added more ids
ref/alter_publication.sgml ==> added link to
"sql-altersubscription-refresh-publication"
ref/drop_subscription.sgml ==> added link to "sql-altersubscription"- <varlistentry> + <varlistentry id="sql-altersubscription-new-owner"> <term><replaceable class="parameter">new_owner</replaceable></term> <listitem> <para> @@ -281,7 +281,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO < </listitem> </varlistentry>- <varlistentry> + <varlistentry id="sql-altersubscription-new-name"> <term><replaceable class="parameter">new_name</replaceable></term> <listitem>
Thanks for looking at this patch!
Shall we append 'params' in the above and other id's in the patch. For
example, sql-altersubscription-params-new-name. The other places like
alter_role.sgml and alter_table.sgml uses similar id's. Is there a
reason to be different here?
In v1, I used the same pattern as on the CREATE SUBSCRIPTION page,
which doesn't look like those...
~~~
The "Parameters" section describes some things that really are parameters:
e.g.
"sql-altersubscription-name"
"sql-altersubscription-new-owner"
"sql-altersubscription-new-name">
I agree, emphasising that those ones are parameters is better. Changed
like this in v2.
"sql-altersubscription-params-name"
"sql-altersubscription-params-new-owner"
"sql-altersubscription-params-new-name">
~
But, the "Parameters" section also describes other SQL syntax clauses
which are not really parameters at all.
e.g.
"sql-altersubscription-refresh-publication"
"sql-altersubscription-enable"
"sql-altersubscription-disable"
So I felt those ones are more intuitive left as they are -- e.g.,
instead of having ids/linkends like:
"sql-altersubscription-params-refresh-publication"
"sql-altersubscription-params-enable"
"sql-altersubscription-params-disable"
~~
PSA v2.
======
Kind Regards,
Peter Smith.
Fujitsu Australia
Attachments:
v2-0001-Add-more-link.patchapplication/octet-stream; name=v2-0001-Add-more-link.patchDownload
From 3722e96aee518bb12e3f3c68594b31cc4295070d Mon Sep 17 00:00:00 2001
From: Peter Smith <peter.b.smith@fujitsu.com>
Date: Mon, 9 Oct 2023 17:35:32 +1100
Subject: [PATCH v2] Add more link
---
doc/src/sgml/ref/alter_publication.sgml | 3 ++-
doc/src/sgml/ref/alter_subscription.sgml | 20 ++++++++++----------
doc/src/sgml/ref/drop_subscription.sgml | 2 +-
3 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/doc/src/sgml/ref/alter_publication.sgml b/doc/src/sgml/ref/alter_publication.sgml
index c8424bc..51a67a7 100644
--- a/doc/src/sgml/ref/alter_publication.sgml
+++ b/doc/src/sgml/ref/alter_publication.sgml
@@ -51,7 +51,8 @@ ALTER PUBLICATION <replaceable class="parameter">name</replaceable> RENAME TO <r
<literal>ADD</literal> and <literal>DROP</literal> clauses will add and
remove one or more tables/schemas from the publication. Note that adding
tables/schemas to a publication that is already subscribed to will require an
- <literal>ALTER SUBSCRIPTION ... REFRESH PUBLICATION</literal> action on the
+ <link linkend="sql-altersubscription-refresh-publication">
+ <literal>ALTER SUBSCRIPTION ... REFRESH PUBLICATION</literal></link> action on the
subscribing side in order to become effective. Note also that
<literal>DROP TABLES IN SCHEMA</literal> will not drop any schema tables
that were specified using
diff --git a/doc/src/sgml/ref/alter_subscription.sgml b/doc/src/sgml/ref/alter_subscription.sgml
index a85e04e..baf062d 100644
--- a/doc/src/sgml/ref/alter_subscription.sgml
+++ b/doc/src/sgml/ref/alter_subscription.sgml
@@ -85,7 +85,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
<title>Parameters</title>
<variablelist>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-name">
<term><replaceable class="parameter">name</replaceable></term>
<listitem>
<para>
@@ -94,7 +94,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-connection">
<term><literal>CONNECTION '<replaceable class="parameter">conninfo</replaceable>'</literal></term>
<listitem>
<para>
@@ -105,7 +105,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-setadddrop-publication">
<term><literal>SET PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
<term><literal>ADD PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
<term><literal>DROP PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
@@ -147,7 +147,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-refresh-publication">
<term><literal>REFRESH PUBLICATION</literal></term>
<listitem>
<para>
@@ -192,7 +192,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-enable">
<term><literal>ENABLE</literal></term>
<listitem>
<para>
@@ -202,7 +202,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-disable">
<term><literal>DISABLE</literal></term>
<listitem>
<para>
@@ -212,7 +212,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-set">
<term><literal>SET ( <replaceable class="parameter">subscription_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )</literal></term>
<listitem>
<para>
@@ -232,7 +232,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-skip">
<term><literal>SKIP ( <replaceable class="parameter">skip_option</replaceable> = <replaceable class="parameter">value</replaceable> )</literal></term>
<listitem>
<para>
@@ -272,7 +272,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-new-owner">
<term><replaceable class="parameter">new_owner</replaceable></term>
<listitem>
<para>
@@ -281,7 +281,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-new-name">
<term><replaceable class="parameter">new_name</replaceable></term>
<listitem>
<para>
diff --git a/doc/src/sgml/ref/drop_subscription.sgml b/doc/src/sgml/ref/drop_subscription.sgml
index 2a67bde..f48997b 100644
--- a/doc/src/sgml/ref/drop_subscription.sgml
+++ b/doc/src/sgml/ref/drop_subscription.sgml
@@ -40,7 +40,7 @@ DROP SUBSCRIPTION [ IF EXISTS ] <replaceable class="parameter">name</replaceable
<para>
<command>DROP SUBSCRIPTION</command> cannot be executed inside a
transaction block if the subscription is associated with a replication
- slot. (You can use <command>ALTER SUBSCRIPTION</command> to unset the
+ slot. (You can use <link linkend="sql-altersubscription"><command>ALTER SUBSCRIPTION</command></link> to unset the
slot.)
</para>
</refsect1>
--
1.8.3.1
On Mon, 9 Oct 2023 at 12:18, Peter Smith <smithpb2250@gmail.com> wrote:
On Mon, Oct 9, 2023 at 3:32 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
On Fri, Oct 6, 2023 at 12:15 PM Peter Smith <smithpb2250@gmail.com> wrote:
Here is a patch to add the 2 missing references:
ref/alter_subscription.sgml ==> added more ids
ref/alter_publication.sgml ==> added link to
"sql-altersubscription-refresh-publication"
ref/drop_subscription.sgml ==> added link to "sql-altersubscription"- <varlistentry> + <varlistentry id="sql-altersubscription-new-owner"> <term><replaceable class="parameter">new_owner</replaceable></term> <listitem> <para> @@ -281,7 +281,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO < </listitem> </varlistentry>- <varlistentry> + <varlistentry id="sql-altersubscription-new-name"> <term><replaceable class="parameter">new_name</replaceable></term> <listitem>Thanks for looking at this patch!
Shall we append 'params' in the above and other id's in the patch. For
example, sql-altersubscription-params-new-name. The other places like
alter_role.sgml and alter_table.sgml uses similar id's. Is there a
reason to be different here?In v1, I used the same pattern as on the CREATE SUBSCRIPTION page,
which doesn't look like those...~~~
The "Parameters" section describes some things that really are parameters:
e.g.
"sql-altersubscription-name"
"sql-altersubscription-new-owner"
"sql-altersubscription-new-name">I agree, emphasising that those ones are parameters is better. Changed
like this in v2."sql-altersubscription-params-name"
"sql-altersubscription-params-new-owner"
"sql-altersubscription-params-new-name">~
But, the "Parameters" section also describes other SQL syntax clauses
which are not really parameters at all.e.g.
"sql-altersubscription-refresh-publication"
"sql-altersubscription-enable"
"sql-altersubscription-disable"So I felt those ones are more intuitive left as they are -- e.g.,
instead of having ids/linkends like:"sql-altersubscription-params-refresh-publication"
"sql-altersubscription-params-enable"
"sql-altersubscription-params-disable"~~
PSA v2.
I noticed a couple of other places where a link to "ALTER SUBSCRIPTION
... DISABLE" and "ALTER SUBSCRIPTION ... SET" can be specified in
drop_subscription:
To proceed in this situation, first disable the subscription by
executing <literal>ALTER SUBSCRIPTION ... DISABLE</literal>, and then
disassociate it from the replication slot by executing <literal>ALTER
SUBSCRIPTION ... SET (slot_name = NONE)</literal>.
Regards,
Vignesh
On Tue, Oct 10, 2023 at 11:46 AM vignesh C <vignesh21@gmail.com> wrote:
I noticed a couple of other places where a link to "ALTER SUBSCRIPTION
... DISABLE" and "ALTER SUBSCRIPTION ... SET" can be specified in
drop_subscription:
To proceed in this situation, first disable the subscription by
executing <literal>ALTER SUBSCRIPTION ... DISABLE</literal>, and then
disassociate it from the replication slot by executing <literal>ALTER
SUBSCRIPTION ... SET (slot_name = NONE)</literal>.
Hi Vignesh. Thanks for the review comments.
Modified as suggested.
PSA v3.
======
Kind Regards,
Peter Smith.
Fujitsu Australia
Attachments:
v3-0001-Add-more-links.patchapplication/octet-stream; name=v3-0001-Add-more-links.patchDownload
From c94e510a79bea48603a6825f71cb8d2cbf73692b Mon Sep 17 00:00:00 2001
From: Peter Smith <peter.b.smith@fujitsu.com>
Date: Tue, 10 Oct 2023 14:11:07 +1100
Subject: [PATCH v3] Add more links
---
doc/src/sgml/ref/alter_publication.sgml | 3 ++-
doc/src/sgml/ref/alter_subscription.sgml | 20 ++++++++++----------
doc/src/sgml/ref/drop_subscription.sgml | 8 +++++---
3 files changed, 17 insertions(+), 14 deletions(-)
diff --git a/doc/src/sgml/ref/alter_publication.sgml b/doc/src/sgml/ref/alter_publication.sgml
index c8424bc..51a67a7 100644
--- a/doc/src/sgml/ref/alter_publication.sgml
+++ b/doc/src/sgml/ref/alter_publication.sgml
@@ -51,7 +51,8 @@ ALTER PUBLICATION <replaceable class="parameter">name</replaceable> RENAME TO <r
<literal>ADD</literal> and <literal>DROP</literal> clauses will add and
remove one or more tables/schemas from the publication. Note that adding
tables/schemas to a publication that is already subscribed to will require an
- <literal>ALTER SUBSCRIPTION ... REFRESH PUBLICATION</literal> action on the
+ <link linkend="sql-altersubscription-refresh-publication">
+ <literal>ALTER SUBSCRIPTION ... REFRESH PUBLICATION</literal></link> action on the
subscribing side in order to become effective. Note also that
<literal>DROP TABLES IN SCHEMA</literal> will not drop any schema tables
that were specified using
diff --git a/doc/src/sgml/ref/alter_subscription.sgml b/doc/src/sgml/ref/alter_subscription.sgml
index a85e04e..baf062d 100644
--- a/doc/src/sgml/ref/alter_subscription.sgml
+++ b/doc/src/sgml/ref/alter_subscription.sgml
@@ -85,7 +85,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
<title>Parameters</title>
<variablelist>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-name">
<term><replaceable class="parameter">name</replaceable></term>
<listitem>
<para>
@@ -94,7 +94,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-connection">
<term><literal>CONNECTION '<replaceable class="parameter">conninfo</replaceable>'</literal></term>
<listitem>
<para>
@@ -105,7 +105,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-setadddrop-publication">
<term><literal>SET PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
<term><literal>ADD PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
<term><literal>DROP PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
@@ -147,7 +147,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-refresh-publication">
<term><literal>REFRESH PUBLICATION</literal></term>
<listitem>
<para>
@@ -192,7 +192,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-enable">
<term><literal>ENABLE</literal></term>
<listitem>
<para>
@@ -202,7 +202,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-disable">
<term><literal>DISABLE</literal></term>
<listitem>
<para>
@@ -212,7 +212,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-set">
<term><literal>SET ( <replaceable class="parameter">subscription_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )</literal></term>
<listitem>
<para>
@@ -232,7 +232,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-skip">
<term><literal>SKIP ( <replaceable class="parameter">skip_option</replaceable> = <replaceable class="parameter">value</replaceable> )</literal></term>
<listitem>
<para>
@@ -272,7 +272,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-new-owner">
<term><replaceable class="parameter">new_owner</replaceable></term>
<listitem>
<para>
@@ -281,7 +281,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-new-name">
<term><replaceable class="parameter">new_name</replaceable></term>
<listitem>
<para>
diff --git a/doc/src/sgml/ref/drop_subscription.sgml b/doc/src/sgml/ref/drop_subscription.sgml
index 2a67bde..6212644 100644
--- a/doc/src/sgml/ref/drop_subscription.sgml
+++ b/doc/src/sgml/ref/drop_subscription.sgml
@@ -40,7 +40,7 @@ DROP SUBSCRIPTION [ IF EXISTS ] <replaceable class="parameter">name</replaceable
<para>
<command>DROP SUBSCRIPTION</command> cannot be executed inside a
transaction block if the subscription is associated with a replication
- slot. (You can use <command>ALTER SUBSCRIPTION</command> to unset the
+ slot. (You can use <link linkend="sql-altersubscription"><command>ALTER SUBSCRIPTION</command></link> to unset the
slot.)
</para>
</refsect1>
@@ -87,9 +87,11 @@ DROP SUBSCRIPTION [ IF EXISTS ] <replaceable class="parameter">name</replaceable
replication slot cannot be dropped or does not exist or never existed,
the <command>DROP SUBSCRIPTION</command> command will fail. To proceed
in this situation, first disable the subscription by executing
- <literal>ALTER SUBSCRIPTION ... DISABLE</literal>, and then disassociate
+ <link linkend="sql-altersubscription-disable">
+ <literal>ALTER SUBSCRIPTION ... DISABLE</literal></link>, and then disassociate
it from the replication slot by executing
- <literal>ALTER SUBSCRIPTION ... SET (slot_name = NONE)</literal>.
+ <link linkend="sql-altersubscription-set">
+ <literal>ALTER SUBSCRIPTION ... SET (slot_name = NONE)</literal></link>.
After that, <command>DROP SUBSCRIPTION</command> will no longer attempt any
actions on a remote host. Note that if the remote replication slot still
exists, it (and any related table synchronization slots) should then be
--
1.8.3.1
On Tue, 10 Oct 2023 at 08:47, Peter Smith <smithpb2250@gmail.com> wrote:
On Tue, Oct 10, 2023 at 11:46 AM vignesh C <vignesh21@gmail.com> wrote:
I noticed a couple of other places where a link to "ALTER SUBSCRIPTION
... DISABLE" and "ALTER SUBSCRIPTION ... SET" can be specified in
drop_subscription:
To proceed in this situation, first disable the subscription by
executing <literal>ALTER SUBSCRIPTION ... DISABLE</literal>, and then
disassociate it from the replication slot by executing <literal>ALTER
SUBSCRIPTION ... SET (slot_name = NONE)</literal>.Hi Vignesh. Thanks for the review comments.
Modified as suggested.
PSA v3.
Few more instances in other logical replication related pages:
1) Another instance was in alter_subscription.sgml:
Fetch missing table information from publisher. This will start
replication of tables that were added to the subscribed-to publications
since <command>CREATE SUBSCRIPTION</command> or
the last invocation of <command>REFRESH PUBLICATION</command>.
2) Few more instances were in logical-replication-subscription.html
2.a) Normally, the remote replication slot is created automatically when the
subscription is created using <command>CREATE SUBSCRIPTION</command> and it
is dropped automatically when the subscription is dropped using
<command>DROP SUBSCRIPTION</command>. In some situations, however, it can
be useful or necessary to manipulate the subscription and the underlying
replication slot separately.
2.b) When dropping a subscription, the remote host is not reachable. In
that case, disassociate the slot from the subscription
using <command>ALTER SUBSCRIPTION</command> before attempting to drop
the subscription.
2.c) If a subscription is affected by this problem, the only way to resume
replication is to adjust one of the column lists on the publication
side so that they all match; and then either recreate the subscription,
or use <literal>ALTER SUBSCRIPTION ... DROP PUBLICATION</literal> to
remove one of the offending publications and add it again.
2.d) The
transaction that produced the conflict can be skipped by using
<command>ALTER SUBSCRIPTION ... SKIP</command> with the finish LSN
(i.e., LSN 0/14C0378).
2.e) Before using this function, the subscription needs to be
disabled temporarily
either by <command>ALTER SUBSCRIPTION ... DISABLE</command> or,
Regards,
Vignesh
On Tue, Oct 10, 2023 at 11:40 AM vignesh C <vignesh21@gmail.com> wrote:
On Tue, 10 Oct 2023 at 08:47, Peter Smith <smithpb2250@gmail.com> wrote:
PSA v3.
Few more instances in other logical replication related pages:
1) Another instance was in alter_subscription.sgml:
Fetch missing table information from publisher. This will start
replication of tables that were added to the subscribed-to publications
since <command>CREATE SUBSCRIPTION</command> or
the last invocation of <command>REFRESH PUBLICATION</command>.
Do we want each and every occurrence of the commands to have
corresponding links? I am not against it if we think that is useful
for users but asking as I am not aware of the general practice we
follow in this regard. Does anyone else have any opinion on this
matter?
--
With Regards,
Amit Kapila.
On Tue, Oct 10, 2023 at 11:33 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
On Tue, Oct 10, 2023 at 11:40 AM vignesh C <vignesh21@gmail.com> wrote:
On Tue, 10 Oct 2023 at 08:47, Peter Smith <smithpb2250@gmail.com> wrote:
PSA v3.
Few more instances in other logical replication related pages:
1) Another instance was in alter_subscription.sgml:
Fetch missing table information from publisher. This will start
replication of tables that were added to the subscribed-to publications
since <command>CREATE SUBSCRIPTION</command> or
the last invocation of <command>REFRESH PUBLICATION</command>.Do we want each and every occurrence of the commands to have
corresponding links? I am not against it if we think that is useful
for users but asking as I am not aware of the general practice we
follow in this regard. Does anyone else have any opinion on this
matter?
The goal of the patch was to use a consistent approach for all the
pub/sub pages. Otherwise, there was a mixture and no apparent reason
why some commands had links while some did not.
The rules this patch is using are:
- only including inter-page links to other pub/sub commands
- if the same pub/sub linkend occurs multiple times in the same block
of text, then only give a link for the first one
~~
What links are "useful to users" is subjective, and the convenience
probably also varies depending on how much scrolling is needed to get
to the "See Also" part at the bottom. I felt a consistent linking
approach is better than having differences based on some arbitrary
judgement of usefulness.
AFAICT some other PG DOCS pages strive to do the same. For example,
the ALTER TABLE page [1]https://www.postgresql.org/docs/devel/sql-altertable.html mentions the "CREATE TABLE" command 10 times
and 8 of those have links. (the missing ones don't look any different
to me so seem like accidental omissions).
======
[1]: https://www.postgresql.org/docs/devel/sql-altertable.html
Kind Regards,
Peter Smith.
Fujitsu Australia
On Tue, Oct 10, 2023 at 5:10 PM vignesh C <vignesh21@gmail.com> wrote:
Few more instances in other logical replication related pages:
1) Another instance was in alter_subscription.sgml:
Fetch missing table information from publisher. This will start
replication of tables that were added to the subscribed-to publications
since <command>CREATE SUBSCRIPTION</command> or
the last invocation of <command>REFRESH PUBLICATION</command>.
OK, modified in v4.
2) Few more instances were in logical-replication-subscription.html
2.a) Normally, the remote replication slot is created automatically when the
subscription is created using <command>CREATE SUBSCRIPTION</command> and it
is dropped automatically when the subscription is dropped using
<command>DROP SUBSCRIPTION</command>. In some situations, however, it can
be useful or necessary to manipulate the subscription and the underlying
replication slot separately.
2.b) When dropping a subscription, the remote host is not reachable. In
that case, disassociate the slot from the subscription
using <command>ALTER SUBSCRIPTION</command> before attempting to drop
the subscription.
The above were in section "31.2.1 Replication Slot Management". OK,
modified in v4.
2.c) If a subscription is affected by this problem, the only way to resume
replication is to adjust one of the column lists on the publication
side so that they all match; and then either recreate the subscription,
or use <literal>ALTER SUBSCRIPTION ... DROP PUBLICATION</literal> to
remove one of the offending publications and add it again.
The above was in section "31.2.1 Replication Slot Management". OK,
modified in v4.
2.d) The
transaction that produced the conflict can be skipped by using
<command>ALTER SUBSCRIPTION ... SKIP</command> with the finish LSN
(i.e., LSN 0/14C0378).
2.e) Before using this function, the subscription needs to be
disabled temporarily
either by <command>ALTER SUBSCRIPTION ... DISABLE</command> or,
The above was in the section "31.5 Conflicts". OK, modified in v4.
~~
Thanks for reporting those. PSA v4.
======
Kind Regards,
Peter Smith.
Fujitsu Australia
Attachments:
v4-0001-Add-more-pub-sub-links.patchapplication/octet-stream; name=v4-0001-Add-more-pub-sub-links.patchDownload
From 274a1005e9cc906c2636dd0d3d2ab2fa74f2be7d Mon Sep 17 00:00:00 2001
From: Peter Smith <peter.b.smith@fujitsu.com>
Date: Wed, 11 Oct 2023 11:11:39 +1100
Subject: [PATCH v4] Add more pub/sub links.
The pub/sub PG DOCS pages almost always have links to other pub/sub commands
whenever they are mentioned, but there were some omissions. This patch adds the
missing links.
In passing, add more pub/sub command links from other logical replication pages.
Author: Peter Smith
Reviewed-by: Vignesh C, Amit Kapila
Discussion: https://www.postgresql.org/message-id/flat/CAHut%2BPu2S4RdzYKR7H5_E7QYWyq5hB0hL4EFrYbP91Qso62jeg%40mail.gmail.com
---
doc/src/sgml/logical-replication.sgml | 20 +++++++++++++-------
doc/src/sgml/ref/alter_publication.sgml | 3 ++-
doc/src/sgml/ref/alter_subscription.sgml | 23 ++++++++++++-----------
doc/src/sgml/ref/drop_subscription.sgml | 8 +++++---
4 files changed, 32 insertions(+), 22 deletions(-)
diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml
index 3b2fa11..c1e82aa 100644
--- a/doc/src/sgml/logical-replication.sgml
+++ b/doc/src/sgml/logical-replication.sgml
@@ -274,9 +274,11 @@
</para>
<para>
Normally, the remote replication slot is created automatically when the
- subscription is created using <command>CREATE SUBSCRIPTION</command> and it
+ subscription is created using <link linkend="sql-createsubscription">
+ <command>CREATE SUBSCRIPTION</command></link> and it
is dropped automatically when the subscription is dropped using
- <command>DROP SUBSCRIPTION</command>. In some situations, however, it can
+ <link linkend="sql-dropsubscription"><command>DROP SUBSCRIPTION</command></link>.
+ In some situations, however, it can
be useful or necessary to manipulate the subscription and the underlying
replication slot separately. Here are some scenarios:
@@ -306,8 +308,9 @@
When dropping a subscription, the replication slot should be kept.
This could be useful when the subscriber database is being moved to a
different host and will be activated from there. In that case,
- disassociate the slot from the subscription using <command>ALTER
- SUBSCRIPTION</command> before attempting to drop the subscription.
+ disassociate the slot from the subscription using
+ <link linkend="sql-altersubscription"><command>ALTER SUBSCRIPTION</command></link>
+ before attempting to drop the subscription.
</para>
</listitem>
@@ -1349,7 +1352,8 @@ test_sub=# SELECT * FROM child ORDER BY a;
If a subscription is affected by this problem, the only way to resume
replication is to adjust one of the column lists on the publication
side so that they all match; and then either recreate the subscription,
- or use <literal>ALTER SUBSCRIPTION ... DROP PUBLICATION</literal> to
+ or use <link linkend="sql-altersubscription-setadddrop-publication">
+ <literal>ALTER SUBSCRIPTION ... DROP PUBLICATION</literal></link> to
remove one of the offending publications and add it again.
</para>
</warning>
@@ -1504,13 +1508,15 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
the replication origin name can be found from the server log (LSN 0/14C0378 and
replication origin <literal>pg_16395</literal> in the above case). The
transaction that produced the conflict can be skipped by using
- <command>ALTER SUBSCRIPTION ... SKIP</command> with the finish LSN
+ <link linkend="sql-altersubscription-skip"><command>ALTER SUBSCRIPTION ... SKIP</command></link>
+ with the finish LSN
(i.e., LSN 0/14C0378). The finish LSN could be an LSN at which the transaction
is committed or prepared on the publisher. Alternatively, the transaction can
also be skipped by calling the <link linkend="pg-replication-origin-advance">
<function>pg_replication_origin_advance()</function></link> function.
Before using this function, the subscription needs to be disabled temporarily
- either by <command>ALTER SUBSCRIPTION ... DISABLE</command> or, the
+ either by <link linkend="sql-altersubscription-disable">
+ <command>ALTER SUBSCRIPTION ... DISABLE</command></link> or, the
subscription can be used with the
<link linkend="sql-createsubscription-with-disable-on-error"><literal>disable_on_error</literal></link>
option. Then, you can use <function>pg_replication_origin_advance()</function>
diff --git a/doc/src/sgml/ref/alter_publication.sgml b/doc/src/sgml/ref/alter_publication.sgml
index c8424bc..51a67a7 100644
--- a/doc/src/sgml/ref/alter_publication.sgml
+++ b/doc/src/sgml/ref/alter_publication.sgml
@@ -51,7 +51,8 @@ ALTER PUBLICATION <replaceable class="parameter">name</replaceable> RENAME TO <r
<literal>ADD</literal> and <literal>DROP</literal> clauses will add and
remove one or more tables/schemas from the publication. Note that adding
tables/schemas to a publication that is already subscribed to will require an
- <literal>ALTER SUBSCRIPTION ... REFRESH PUBLICATION</literal> action on the
+ <link linkend="sql-altersubscription-refresh-publication">
+ <literal>ALTER SUBSCRIPTION ... REFRESH PUBLICATION</literal></link> action on the
subscribing side in order to become effective. Note also that
<literal>DROP TABLES IN SCHEMA</literal> will not drop any schema tables
that were specified using
diff --git a/doc/src/sgml/ref/alter_subscription.sgml b/doc/src/sgml/ref/alter_subscription.sgml
index a85e04e..770eeea 100644
--- a/doc/src/sgml/ref/alter_subscription.sgml
+++ b/doc/src/sgml/ref/alter_subscription.sgml
@@ -85,7 +85,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
<title>Parameters</title>
<variablelist>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-name">
<term><replaceable class="parameter">name</replaceable></term>
<listitem>
<para>
@@ -94,7 +94,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-connection">
<term><literal>CONNECTION '<replaceable class="parameter">conninfo</replaceable>'</literal></term>
<listitem>
<para>
@@ -105,7 +105,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-setadddrop-publication">
<term><literal>SET PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
<term><literal>ADD PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
<term><literal>DROP PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
@@ -147,13 +147,14 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-refresh-publication">
<term><literal>REFRESH PUBLICATION</literal></term>
<listitem>
<para>
Fetch missing table information from publisher. This will start
replication of tables that were added to the subscribed-to publications
- since <command>CREATE SUBSCRIPTION</command> or
+ since <link linkend="sql-createsubscription">
+ <command>CREATE SUBSCRIPTION</command></link> or
the last invocation of <command>REFRESH PUBLICATION</command>.
</para>
@@ -192,7 +193,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-enable">
<term><literal>ENABLE</literal></term>
<listitem>
<para>
@@ -202,7 +203,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-disable">
<term><literal>DISABLE</literal></term>
<listitem>
<para>
@@ -212,7 +213,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-set">
<term><literal>SET ( <replaceable class="parameter">subscription_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )</literal></term>
<listitem>
<para>
@@ -232,7 +233,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-skip">
<term><literal>SKIP ( <replaceable class="parameter">skip_option</replaceable> = <replaceable class="parameter">value</replaceable> )</literal></term>
<listitem>
<para>
@@ -272,7 +273,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-new-owner">
<term><replaceable class="parameter">new_owner</replaceable></term>
<listitem>
<para>
@@ -281,7 +282,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-new-name">
<term><replaceable class="parameter">new_name</replaceable></term>
<listitem>
<para>
diff --git a/doc/src/sgml/ref/drop_subscription.sgml b/doc/src/sgml/ref/drop_subscription.sgml
index 2a67bde..6212644 100644
--- a/doc/src/sgml/ref/drop_subscription.sgml
+++ b/doc/src/sgml/ref/drop_subscription.sgml
@@ -40,7 +40,7 @@ DROP SUBSCRIPTION [ IF EXISTS ] <replaceable class="parameter">name</replaceable
<para>
<command>DROP SUBSCRIPTION</command> cannot be executed inside a
transaction block if the subscription is associated with a replication
- slot. (You can use <command>ALTER SUBSCRIPTION</command> to unset the
+ slot. (You can use <link linkend="sql-altersubscription"><command>ALTER SUBSCRIPTION</command></link> to unset the
slot.)
</para>
</refsect1>
@@ -87,9 +87,11 @@ DROP SUBSCRIPTION [ IF EXISTS ] <replaceable class="parameter">name</replaceable
replication slot cannot be dropped or does not exist or never existed,
the <command>DROP SUBSCRIPTION</command> command will fail. To proceed
in this situation, first disable the subscription by executing
- <literal>ALTER SUBSCRIPTION ... DISABLE</literal>, and then disassociate
+ <link linkend="sql-altersubscription-disable">
+ <literal>ALTER SUBSCRIPTION ... DISABLE</literal></link>, and then disassociate
it from the replication slot by executing
- <literal>ALTER SUBSCRIPTION ... SET (slot_name = NONE)</literal>.
+ <link linkend="sql-altersubscription-set">
+ <literal>ALTER SUBSCRIPTION ... SET (slot_name = NONE)</literal></link>.
After that, <command>DROP SUBSCRIPTION</command> will no longer attempt any
actions on a remote host. Note that if the remote replication slot still
exists, it (and any related table synchronization slots) should then be
--
1.8.3.1
On Mon, Oct 9, 2023 at 12:15 PM Peter Smith <smithpb2250@gmail.com> wrote:
On Mon, Oct 9, 2023 at 3:32 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
In v1, I used the same pattern as on the CREATE SUBSCRIPTION page,
which doesn't look like those...
Yeah, I think it would have been better if we used params in the
CREATE SUBSCRIPTION page as well. I don't know if it is a good idea to
do now with this patch but it makes sense to be consistent. What do
you think?
~~~
The "Parameters" section describes some things that really are parameters:
e.g.
"sql-altersubscription-name"
"sql-altersubscription-new-owner"
"sql-altersubscription-new-name">I agree, emphasising that those ones are parameters is better. Changed
like this in v2."sql-altersubscription-params-name"
"sql-altersubscription-params-new-owner"
"sql-altersubscription-params-new-name">~
But, the "Parameters" section also describes other SQL syntax clauses
which are not really parameters at all.e.g.
"sql-altersubscription-refresh-publication"
"sql-altersubscription-enable"
"sql-altersubscription-disable"So I felt those ones are more intuitive left as they are -- e.g.,
instead of having ids/linkends like:"sql-altersubscription-params-refresh-publication"
"sql-altersubscription-params-enable"
"sql-altersubscription-params-disable"
I checked alter_role.sgml which has similar mixed usage and it is
using 'params' consistently in all cases. So, I would suggest
following a similar style here.
--
With Regards,
Amit Kapila.
On Thu, Oct 12, 2023 at 3:44 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
On Mon, Oct 9, 2023 at 12:15 PM Peter Smith <smithpb2250@gmail.com> wrote:
On Mon, Oct 9, 2023 at 3:32 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
In v1, I used the same pattern as on the CREATE SUBSCRIPTION page,
which doesn't look like those...Yeah, I think it would have been better if we used params in the
CREATE SUBSCRIPTION page as well. I don't know if it is a good idea to
do now with this patch but it makes sense to be consistent. What do
you think?
OK, I have given those changes as separate patches:
- 0002 (changes the CREATE PUBLICATION parameter ids)
- 0003 (changes CREATE SUBSCRIPTION parameter ids)
~~~
The "Parameters" section describes some things that really are parameters:
e.g.
"sql-altersubscription-name"
"sql-altersubscription-new-owner"
"sql-altersubscription-new-name">I agree, emphasising that those ones are parameters is better. Changed
like this in v2."sql-altersubscription-params-name"
"sql-altersubscription-params-new-owner"
"sql-altersubscription-params-new-name">~
But, the "Parameters" section also describes other SQL syntax clauses
which are not really parameters at all.e.g.
"sql-altersubscription-refresh-publication"
"sql-altersubscription-enable"
"sql-altersubscription-disable"So I felt those ones are more intuitive left as they are -- e.g.,
instead of having ids/linkends like:"sql-altersubscription-params-refresh-publication"
"sql-altersubscription-params-enable"
"sql-altersubscription-params-disable"I checked alter_role.sgml which has similar mixed usage and it is
using 'params' consistently in all cases. So, I would suggest
following a similar style here.
As you wish. Done that way in patch 0001.
~~
PSA the v5 patches.
======
Kind Regards,
Peter Smith.
Fujitsu Australia
Attachments:
v5-0001-Add-more-pub-sub-links.patchapplication/octet-stream; name=v5-0001-Add-more-pub-sub-links.patchDownload
From c872b4180991e238f239d95f73c2b1d95b82ffeb Mon Sep 17 00:00:00 2001
From: Peter Smith <peter.b.smith@fujitsu.com>
Date: Fri, 13 Oct 2023 13:46:46 +1100
Subject: [PATCH v5] Add more pub/sub links.
The pub/sub PG DOCS pages almost always have links to other pub/sub commands
whenever they are mentioned, but there were some omissions. This patch adds the
missing links.
In passing, add more pub/sub command links from other logical replication pages.
Author: Peter Smith
Reviewed-by: Vignesh C, Amit Kapila
Discussion: https://www.postgresql.org/message-id/flat/CAHut%2BPu2S4RdzYKR7H5_E7QYWyq5hB0hL4EFrYbP91Qso62jeg%40mail.gmail.com
---
---
doc/src/sgml/logical-replication.sgml | 20 +++++++++++++-------
doc/src/sgml/ref/alter_publication.sgml | 3 ++-
doc/src/sgml/ref/alter_subscription.sgml | 23 ++++++++++++-----------
doc/src/sgml/ref/drop_subscription.sgml | 8 +++++---
4 files changed, 32 insertions(+), 22 deletions(-)
diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml
index 3b2fa11..8c3837e 100644
--- a/doc/src/sgml/logical-replication.sgml
+++ b/doc/src/sgml/logical-replication.sgml
@@ -274,9 +274,11 @@
</para>
<para>
Normally, the remote replication slot is created automatically when the
- subscription is created using <command>CREATE SUBSCRIPTION</command> and it
+ subscription is created using <link linkend="sql-createsubscription">
+ <command>CREATE SUBSCRIPTION</command></link> and it
is dropped automatically when the subscription is dropped using
- <command>DROP SUBSCRIPTION</command>. In some situations, however, it can
+ <link linkend="sql-dropsubscription"><command>DROP SUBSCRIPTION</command></link>.
+ In some situations, however, it can
be useful or necessary to manipulate the subscription and the underlying
replication slot separately. Here are some scenarios:
@@ -306,8 +308,9 @@
When dropping a subscription, the replication slot should be kept.
This could be useful when the subscriber database is being moved to a
different host and will be activated from there. In that case,
- disassociate the slot from the subscription using <command>ALTER
- SUBSCRIPTION</command> before attempting to drop the subscription.
+ disassociate the slot from the subscription using
+ <link linkend="sql-altersubscription"><command>ALTER SUBSCRIPTION</command></link>
+ before attempting to drop the subscription.
</para>
</listitem>
@@ -1349,7 +1352,8 @@ test_sub=# SELECT * FROM child ORDER BY a;
If a subscription is affected by this problem, the only way to resume
replication is to adjust one of the column lists on the publication
side so that they all match; and then either recreate the subscription,
- or use <literal>ALTER SUBSCRIPTION ... DROP PUBLICATION</literal> to
+ or use <link linkend="sql-altersubscription-params-setadddrop-publication">
+ <literal>ALTER SUBSCRIPTION ... DROP PUBLICATION</literal></link> to
remove one of the offending publications and add it again.
</para>
</warning>
@@ -1504,13 +1508,15 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
the replication origin name can be found from the server log (LSN 0/14C0378 and
replication origin <literal>pg_16395</literal> in the above case). The
transaction that produced the conflict can be skipped by using
- <command>ALTER SUBSCRIPTION ... SKIP</command> with the finish LSN
+ <link linkend="sql-altersubscription-params-skip"><command>ALTER SUBSCRIPTION ... SKIP</command></link>
+ with the finish LSN
(i.e., LSN 0/14C0378). The finish LSN could be an LSN at which the transaction
is committed or prepared on the publisher. Alternatively, the transaction can
also be skipped by calling the <link linkend="pg-replication-origin-advance">
<function>pg_replication_origin_advance()</function></link> function.
Before using this function, the subscription needs to be disabled temporarily
- either by <command>ALTER SUBSCRIPTION ... DISABLE</command> or, the
+ either by <link linkend="sql-altersubscription-params-disable">
+ <command>ALTER SUBSCRIPTION ... DISABLE</command></link> or, the
subscription can be used with the
<link linkend="sql-createsubscription-with-disable-on-error"><literal>disable_on_error</literal></link>
option. Then, you can use <function>pg_replication_origin_advance()</function>
diff --git a/doc/src/sgml/ref/alter_publication.sgml b/doc/src/sgml/ref/alter_publication.sgml
index c8424bc..74fda82 100644
--- a/doc/src/sgml/ref/alter_publication.sgml
+++ b/doc/src/sgml/ref/alter_publication.sgml
@@ -51,7 +51,8 @@ ALTER PUBLICATION <replaceable class="parameter">name</replaceable> RENAME TO <r
<literal>ADD</literal> and <literal>DROP</literal> clauses will add and
remove one or more tables/schemas from the publication. Note that adding
tables/schemas to a publication that is already subscribed to will require an
- <literal>ALTER SUBSCRIPTION ... REFRESH PUBLICATION</literal> action on the
+ <link linkend="sql-altersubscription-params-refresh-publication">
+ <literal>ALTER SUBSCRIPTION ... REFRESH PUBLICATION</literal></link> action on the
subscribing side in order to become effective. Note also that
<literal>DROP TABLES IN SCHEMA</literal> will not drop any schema tables
that were specified using
diff --git a/doc/src/sgml/ref/alter_subscription.sgml b/doc/src/sgml/ref/alter_subscription.sgml
index a85e04e..ba70855 100644
--- a/doc/src/sgml/ref/alter_subscription.sgml
+++ b/doc/src/sgml/ref/alter_subscription.sgml
@@ -85,7 +85,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
<title>Parameters</title>
<variablelist>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-name">
<term><replaceable class="parameter">name</replaceable></term>
<listitem>
<para>
@@ -94,7 +94,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-connection">
<term><literal>CONNECTION '<replaceable class="parameter">conninfo</replaceable>'</literal></term>
<listitem>
<para>
@@ -105,7 +105,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-setadddrop-publication">
<term><literal>SET PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
<term><literal>ADD PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
<term><literal>DROP PUBLICATION <replaceable class="parameter">publication_name</replaceable></literal></term>
@@ -147,13 +147,14 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-refresh-publication">
<term><literal>REFRESH PUBLICATION</literal></term>
<listitem>
<para>
Fetch missing table information from publisher. This will start
replication of tables that were added to the subscribed-to publications
- since <command>CREATE SUBSCRIPTION</command> or
+ since <link linkend="sql-createsubscription">
+ <command>CREATE SUBSCRIPTION</command></link> or
the last invocation of <command>REFRESH PUBLICATION</command>.
</para>
@@ -192,7 +193,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-enable">
<term><literal>ENABLE</literal></term>
<listitem>
<para>
@@ -202,7 +203,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-disable">
<term><literal>DISABLE</literal></term>
<listitem>
<para>
@@ -212,7 +213,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-set">
<term><literal>SET ( <replaceable class="parameter">subscription_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )</literal></term>
<listitem>
<para>
@@ -232,7 +233,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-skip">
<term><literal>SKIP ( <replaceable class="parameter">skip_option</replaceable> = <replaceable class="parameter">value</replaceable> )</literal></term>
<listitem>
<para>
@@ -272,7 +273,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-new-owner">
<term><replaceable class="parameter">new_owner</replaceable></term>
<listitem>
<para>
@@ -281,7 +282,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
</listitem>
</varlistentry>
- <varlistentry>
+ <varlistentry id="sql-altersubscription-params-new-name">
<term><replaceable class="parameter">new_name</replaceable></term>
<listitem>
<para>
diff --git a/doc/src/sgml/ref/drop_subscription.sgml b/doc/src/sgml/ref/drop_subscription.sgml
index 2a67bde..d4f54c7 100644
--- a/doc/src/sgml/ref/drop_subscription.sgml
+++ b/doc/src/sgml/ref/drop_subscription.sgml
@@ -40,7 +40,7 @@ DROP SUBSCRIPTION [ IF EXISTS ] <replaceable class="parameter">name</replaceable
<para>
<command>DROP SUBSCRIPTION</command> cannot be executed inside a
transaction block if the subscription is associated with a replication
- slot. (You can use <command>ALTER SUBSCRIPTION</command> to unset the
+ slot. (You can use <link linkend="sql-altersubscription"><command>ALTER SUBSCRIPTION</command></link> to unset the
slot.)
</para>
</refsect1>
@@ -87,9 +87,11 @@ DROP SUBSCRIPTION [ IF EXISTS ] <replaceable class="parameter">name</replaceable
replication slot cannot be dropped or does not exist or never existed,
the <command>DROP SUBSCRIPTION</command> command will fail. To proceed
in this situation, first disable the subscription by executing
- <literal>ALTER SUBSCRIPTION ... DISABLE</literal>, and then disassociate
+ <link linkend="sql-altersubscription-params-disable">
+ <literal>ALTER SUBSCRIPTION ... DISABLE</literal></link>, and then disassociate
it from the replication slot by executing
- <literal>ALTER SUBSCRIPTION ... SET (slot_name = NONE)</literal>.
+ <link linkend="sql-altersubscription-params-set">
+ <literal>ALTER SUBSCRIPTION ... SET (slot_name = NONE)</literal></link>.
After that, <command>DROP SUBSCRIPTION</command> will no longer attempt any
actions on a remote host. Note that if the remote replication slot still
exists, it (and any related table synchronization slots) should then be
--
1.8.3.1
v5-0002-Change-ids-for-CREATE-PUBLICATION-parameters.patchapplication/octet-stream; name=v5-0002-Change-ids-for-CREATE-PUBLICATION-parameters.patchDownload
From bba5fca096d9e4a164311a4a7f731062c95a54b1 Mon Sep 17 00:00:00 2001
From: Peter Smith <peter.b.smith@fujitsu.com>
Date: Fri, 13 Oct 2023 14:06:10 +1100
Subject: [PATCH v5] Change ids for CREATE PUBLICATION parameters
---
doc/src/sgml/logical-replication.sgml | 22 +++++++++++-----------
doc/src/sgml/ref/alter_publication.sgml | 6 +++---
doc/src/sgml/ref/create_publication.sgml | 14 +++++++-------
doc/src/sgml/ref/create_subscription.sgml | 6 +++---
doc/src/sgml/system-views.sgml | 4 ++--
5 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml
index 8c3837e..9f0f059 100644
--- a/doc/src/sgml/logical-replication.sgml
+++ b/doc/src/sgml/logical-replication.sgml
@@ -371,7 +371,7 @@ INSERT 0 3
<para>
Create publications for the tables. The publications <literal>pub2</literal>
and <literal>pub3a</literal> disallow some
- <link linkend="sql-createpublication-with-publish"><literal>publish</literal></link>
+ <link linkend="sql-createpublication-params-with-publish"><literal>publish</literal></link>
operations. The publication <literal>pub3b</literal> has a row filter (see
<xref linkend="logical-replication-row-filter"/>).
<programlisting>
@@ -805,7 +805,7 @@ ALTER SUBSCRIPTION
<para>
If the publication contains a partitioned table, the publication parameter
- <link linkend="sql-createpublication-with-publish-via-partition-root"><literal>publish_via_partition_root</literal></link>
+ <link linkend="sql-createpublication-params-with-publish-via-partition-root"><literal>publish_via_partition_root</literal></link>
determines which row filter is used. If <literal>publish_via_partition_root</literal>
is <literal>true</literal>, the <emphasis>root partitioned table's</emphasis>
row filter is used. Otherwise, if <literal>publish_via_partition_root</literal>
@@ -834,7 +834,7 @@ ALTER SUBSCRIPTION
<warning>
<para>
Because initial data synchronization does not take into account the
- <link linkend="sql-createpublication-with-publish"><literal>publish</literal></link>
+ <link linkend="sql-createpublication-params-with-publish"><literal>publish</literal></link>
parameter when copying existing table data, some rows may be copied that
would not be replicated using DML. Refer to
<xref linkend="logical-replication-snapshot"/>, and see
@@ -858,7 +858,7 @@ ALTER SUBSCRIPTION
<para>
If the subscription has several publications in which the same table has
been published with different row filters (for the same
- <link linkend="sql-createpublication-with-publish"><literal>publish</literal></link>
+ <link linkend="sql-createpublication-params-with-publish"><literal>publish</literal></link>
operation), those expressions get ORed together, so that rows satisfying
<emphasis>any</emphasis> of the expressions will be replicated. This means all
the other row filters for the same table become redundant if:
@@ -871,14 +871,14 @@ ALTER SUBSCRIPTION
<listitem>
<para>
One of the publications was created using
- <link linkend="sql-createpublication-for-all-tables"><literal>FOR ALL TABLES</literal></link>.
+ <link linkend="sql-createpublication-params-for-all-tables"><literal>FOR ALL TABLES</literal></link>.
This clause does not allow row filters.
</para>
</listitem>
<listitem>
<para>
One of the publications was created using
- <link linkend="sql-createpublication-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>
+ <link linkend="sql-createpublication-params-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>
and the table belongs to the referred schema. This clause does not allow
row filters.
</para>
@@ -1145,7 +1145,7 @@ test_sub=# SELECT * FROM t1;
<para>
The following examples show how the publication parameter
- <link linkend="sql-createpublication-with-publish-via-partition-root"><literal>publish_via_partition_root</literal></link>
+ <link linkend="sql-createpublication-params-with-publish-via-partition-root"><literal>publish_via_partition_root</literal></link>
determines whether the row filter of the parent or child table will be used
in the case of partitioned tables.
</para>
@@ -1300,13 +1300,13 @@ test_sub=# SELECT * FROM child ORDER BY a;
<para>
Specifying a column list when the publication also publishes
- <link linkend="sql-createpublication-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>
+ <link linkend="sql-createpublication-params-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>
is not supported.
</para>
<para>
For partitioned tables, the publication parameter
- <link linkend="sql-createpublication-with-publish-via-partition-root"><literal>publish_via_partition_root</literal></link>
+ <link linkend="sql-createpublication-params-with-publish-via-partition-root"><literal>publish_via_partition_root</literal></link>
determines which column list is used. If <literal>publish_via_partition_root</literal>
is <literal>true</literal>, the root partitioned table's column list is
used. Otherwise, if <literal>publish_via_partition_root</literal> is
@@ -1624,7 +1624,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
using the identity and schema of the partitioned root table instead of
that of the individual leaf partitions in which the changes actually
originate (see
- <link linkend="sql-createpublication-with-publish-via-partition-root"><literal>publish_via_partition_root</literal></link>
+ <link linkend="sql-createpublication-params-with-publish-via-partition-root"><literal>publish_via_partition_root</literal></link>
parameter of <command>CREATE PUBLICATION</command>).
</para>
</listitem>
@@ -1709,7 +1709,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
<note>
<para>
The publication
- <link linkend="sql-createpublication-with-publish"><literal>publish</literal></link>
+ <link linkend="sql-createpublication-params-with-publish"><literal>publish</literal></link>
parameter only affects what DML operations will be replicated. The
initial data synchronization does not take this parameter into account
when copying the existing table data.
diff --git a/doc/src/sgml/ref/alter_publication.sgml b/doc/src/sgml/ref/alter_publication.sgml
index 74fda82..44ae7e0 100644
--- a/doc/src/sgml/ref/alter_publication.sgml
+++ b/doc/src/sgml/ref/alter_publication.sgml
@@ -56,7 +56,7 @@ ALTER PUBLICATION <replaceable class="parameter">name</replaceable> RENAME TO <r
subscribing side in order to become effective. Note also that
<literal>DROP TABLES IN SCHEMA</literal> will not drop any schema tables
that were specified using
- <link linkend="sql-createpublication-for-table"><literal>FOR TABLE</literal></link>/
+ <link linkend="sql-createpublication-params-for-table"><literal>FOR TABLE</literal></link>/
<literal>ADD TABLE</literal>, and the combination of <literal>DROP</literal>
with a <literal>WHERE</literal> clause is not allowed.
</para>
@@ -82,8 +82,8 @@ ALTER PUBLICATION <replaceable class="parameter">name</replaceable> RENAME TO <r
new owning role, and that role must have <literal>CREATE</literal>
privilege on the database.
Also, the new owner of a
- <link linkend="sql-createpublication-for-all-tables"><literal>FOR ALL TABLES</literal></link>
- or <link linkend="sql-createpublication-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>
+ <link linkend="sql-createpublication-params-for-all-tables"><literal>FOR ALL TABLES</literal></link>
+ or <link linkend="sql-createpublication-params-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>
publication must be a superuser. However, a superuser can
change the ownership of a publication regardless of these restrictions.
</para>
diff --git a/doc/src/sgml/ref/create_publication.sgml b/doc/src/sgml/ref/create_publication.sgml
index 606aa64..fd9c5de 100644
--- a/doc/src/sgml/ref/create_publication.sgml
+++ b/doc/src/sgml/ref/create_publication.sgml
@@ -54,7 +54,7 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
<title>Parameters</title>
<variablelist>
- <varlistentry id="sql-createpublication-name">
+ <varlistentry id="sql-createpublication-params-name">
<term><replaceable class="parameter">name</replaceable></term>
<listitem>
<para>
@@ -63,7 +63,7 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
</listitem>
</varlistentry>
- <varlistentry id="sql-createpublication-for-table">
+ <varlistentry id="sql-createpublication-params-for-table">
<term><literal>FOR TABLE</literal></term>
<listitem>
<para>
@@ -117,7 +117,7 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
</listitem>
</varlistentry>
- <varlistentry id="sql-createpublication-for-all-tables">
+ <varlistentry id="sql-createpublication-params-for-all-tables">
<term><literal>FOR ALL TABLES</literal></term>
<listitem>
<para>
@@ -127,7 +127,7 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
</listitem>
</varlistentry>
- <varlistentry id="sql-createpublication-for-tables-in-schema">
+ <varlistentry id="sql-createpublication-params-for-tables-in-schema">
<term><literal>FOR TABLES IN SCHEMA</literal></term>
<listitem>
<para>
@@ -158,7 +158,7 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
</listitem>
</varlistentry>
- <varlistentry id="sql-createpublication-with">
+ <varlistentry id="sql-createpublication-params-with">
<term><literal>WITH ( <replaceable class="parameter">publication_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )</literal></term>
<listitem>
<para>
@@ -166,7 +166,7 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
following parameters are supported:
<variablelist>
- <varlistentry id="sql-createpublication-with-publish">
+ <varlistentry id="sql-createpublication-params-with-publish">
<term><literal>publish</literal> (<type>string</type>)</term>
<listitem>
<para>
@@ -188,7 +188,7 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
</listitem>
</varlistentry>
- <varlistentry id="sql-createpublication-with-publish-via-partition-root">
+ <varlistentry id="sql-createpublication-params-with-publish-via-partition-root">
<term><literal>publish_via_partition_root</literal> (<type>boolean</type>)</term>
<listitem>
<para>
diff --git a/doc/src/sgml/ref/create_subscription.sgml b/doc/src/sgml/ref/create_subscription.sgml
index c1bafbf..db11ebc 100644
--- a/doc/src/sgml/ref/create_subscription.sgml
+++ b/doc/src/sgml/ref/create_subscription.sgml
@@ -452,8 +452,8 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
the case of different <literal>WHERE</literal> clauses, if one of the
publications has no <literal>WHERE</literal> clause (referring to that
publish operation) or the publication is declared as
- <link linkend="sql-createpublication-for-all-tables"><literal>FOR ALL TABLES</literal></link>
- or <link linkend="sql-createpublication-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>,
+ <link linkend="sql-createpublication-params-for-all-tables"><literal>FOR ALL TABLES</literal></link>
+ or <link linkend="sql-createpublication-params-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>,
rows are always published regardless of the definition of the other
expressions. If the subscriber is a <productname>PostgreSQL</productname>
version before 15, then any row filtering is ignored during the initial data
@@ -461,7 +461,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
deleting any initially copied data that would be incompatible with
subsequent filtering. Because initial data synchronization does not take
into account the publication
- <link linkend="sql-createpublication-with-publish"><literal>publish</literal></link>
+ <link linkend="sql-createpublication-params-with-publish"><literal>publish</literal></link>
parameter when copying existing table data, some rows may be copied that
would not be replicated using DML. See
<xref linkend="logical-replication-subscription-examples"/> for examples.
diff --git a/doc/src/sgml/system-views.sgml b/doc/src/sgml/system-views.sgml
index 2b35c2f..fc7329e 100644
--- a/doc/src/sgml/system-views.sgml
+++ b/doc/src/sgml/system-views.sgml
@@ -2151,8 +2151,8 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
tables they contain. Unlike the underlying catalog
<link linkend="catalog-pg-publication-rel"><structname>pg_publication_rel</structname></link>,
this view expands publications defined as
- <link linkend="sql-createpublication-for-all-tables"><literal>FOR ALL TABLES</literal></link>
- and <link linkend="sql-createpublication-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>,
+ <link linkend="sql-createpublication-params-for-all-tables"><literal>FOR ALL TABLES</literal></link>
+ and <link linkend="sql-createpublication-params-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>,
so for such publications there will be a row for each eligible table.
</para>
--
1.8.3.1
v5-0003-Change-ids-for-CREATE-SUBSCRIPTION-parameters.patchapplication/octet-stream; name=v5-0003-Change-ids-for-CREATE-SUBSCRIPTION-parameters.patchDownload
From bd05985c8fc35d33bb264c090ddece44f6928749 Mon Sep 17 00:00:00 2001
From: Peter Smith <peter.b.smith@fujitsu.com>
Date: Fri, 13 Oct 2023 14:23:19 +1100
Subject: [PATCH v5] Change ids for CREATE SUBSCRIPTION parameters
---
doc/src/sgml/config.sgml | 2 +-
doc/src/sgml/logical-replication.sgml | 12 +++++------
doc/src/sgml/ref/alter_subscription.sgml | 26 +++++++++++------------
doc/src/sgml/ref/create_subscription.sgml | 34 +++++++++++++++----------------
doc/src/sgml/ref/pg_dump.sgml | 2 +-
5 files changed, 38 insertions(+), 38 deletions(-)
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 3839c72..d244390 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -11686,7 +11686,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
On the publisher side, <varname>debug_logical_replication_streaming</varname>
allows streaming or serializing changes immediately in logical decoding.
When set to <literal>immediate</literal>, stream each change if the
- <link linkend="sql-createsubscription-with-streaming"><literal>streaming</literal></link>
+ <link linkend="sql-createsubscription-params-with-streaming"><literal>streaming</literal></link>
option of
<link linkend="sql-createsubscription"><command>CREATE SUBSCRIPTION</command></link>
is enabled, otherwise, serialize each change. When set to
diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml
index 9f0f059..1bb85e4 100644
--- a/doc/src/sgml/logical-replication.sgml
+++ b/doc/src/sgml/logical-replication.sgml
@@ -253,7 +253,7 @@
will be filled with the default value as specified in the definition of the
target table. However, logical replication in binary format is more
restrictive. See the
- <link linkend="sql-createsubscription-with-binary"><literal>binary</literal></link>
+ <link linkend="sql-createsubscription-params-with-binary"><literal>binary</literal></link>
option of <command>CREATE SUBSCRIPTION</command> for details.
</para>
@@ -593,7 +593,7 @@ ALTER SUBSCRIPTION
<para>
Example 2: Where the subscription says <literal>connect = false</literal>,
but also specifies the
- <link linkend="sql-createsubscription-with-slot-name"><literal>slot_name</literal></link>
+ <link linkend="sql-createsubscription-params-with-slot-name"><literal>slot_name</literal></link>
option.
<itemizedlist>
<listitem>
@@ -712,7 +712,7 @@ ALTER SUBSCRIPTION
then the row is not replicated. The <literal>WHERE</literal> clause expression
is evaluated with the same role used for the replication connection (i.e.
the role specified in the
- <link linkend="sql-createsubscription-connection"><literal>CONNECTION</literal></link>
+ <link linkend="sql-createsubscription-params-connection"><literal>CONNECTION</literal></link>
clause of the <xref linkend="sql-createsubscription"/>). Row filters have
no effect for <command>TRUNCATE</command> command.
</para>
@@ -1518,7 +1518,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
either by <link linkend="sql-altersubscription-params-disable">
<command>ALTER SUBSCRIPTION ... DISABLE</command></link> or, the
subscription can be used with the
- <link linkend="sql-createsubscription-with-disable-on-error"><literal>disable_on_error</literal></link>
+ <link linkend="sql-createsubscription-params-with-disable-on-error"><literal>disable_on_error</literal></link>
option. Then, you can use <function>pg_replication_origin_advance()</function>
function with the <parameter>node_name</parameter> (i.e., <literal>pg_16395</literal>)
and the next LSN of the finish LSN (i.e., 0/14C0379). The current position of
@@ -1531,7 +1531,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
<para>
When the
- <link linkend="sql-createsubscription-with-streaming"><literal>streaming</literal></link>
+ <link linkend="sql-createsubscription-params-with-streaming"><literal>streaming</literal></link>
mode is <literal>parallel</literal>, the finish LSN of failed transactions
may not be logged. In that case, it may be necessary to change the streaming
mode to <literal>on</literal> or <literal>off</literal> and cause the same
@@ -1743,7 +1743,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
zero rows in this view. If the initial data synchronization of any
table is in progress, there will be additional workers for the tables
being synchronized. Moreover, if the
- <link linkend="sql-createsubscription-with-streaming"><literal>streaming</literal></link>
+ <link linkend="sql-createsubscription-params-with-streaming"><literal>streaming</literal></link>
transaction is applied in parallel, there may be additional parallel apply
workers.
</para>
diff --git a/doc/src/sgml/ref/alter_subscription.sgml b/doc/src/sgml/ref/alter_subscription.sgml
index ba70855..6d36ff0 100644
--- a/doc/src/sgml/ref/alter_subscription.sgml
+++ b/doc/src/sgml/ref/alter_subscription.sgml
@@ -72,9 +72,9 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
executed inside a transaction block.
These commands also cannot be executed when the subscription has
- <link linkend="sql-createsubscription-with-two-phase"><literal>two_phase</literal></link>
+ <link linkend="sql-createsubscription-params-with-two-phase"><literal>two_phase</literal></link>
commit enabled, unless
- <link linkend="sql-createsubscription-with-copy-data"><literal>copy_data</literal></link>
+ <link linkend="sql-createsubscription-params-with-copy-data"><literal>copy_data</literal></link>
is <literal>false</literal>. See column <structfield>subtwophasestate</structfield>
of <link linkend="catalog-pg-subscription"><structname>pg_subscription</structname></link>
to know the actual two-phase state.
@@ -178,12 +178,12 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
<para>
See <xref linkend="sql-createsubscription-notes"/> for details of
how <literal>copy_data = true</literal> can interact with the
- <link linkend="sql-createsubscription-with-origin"><literal>origin</literal></link>
+ <link linkend="sql-createsubscription-params-with-origin"><literal>origin</literal></link>
parameter.
</para>
<para>
See the
- <link linkend="sql-createsubscription-with-binary"><literal>binary</literal></link>
+ <link linkend="sql-createsubscription-params-with-binary"><literal>binary</literal></link>
parameter of <command>CREATE SUBSCRIPTION</command> for details about
copying pre-existing data in binary format.
</para>
@@ -220,14 +220,14 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
This clause alters parameters originally set by
<xref linkend="sql-createsubscription"/>. See there for more
information. The parameters that can be altered are
- <link linkend="sql-createsubscription-with-slot-name"><literal>slot_name</literal></link>,
- <link linkend="sql-createsubscription-with-synchronous-commit"><literal>synchronous_commit</literal></link>,
- <link linkend="sql-createsubscription-with-binary"><literal>binary</literal></link>,
- <link linkend="sql-createsubscription-with-streaming"><literal>streaming</literal></link>,
- <link linkend="sql-createsubscription-with-disable-on-error"><literal>disable_on_error</literal></link>,
- <link linkend="sql-createsubscription-with-password-required"><literal>password_required</literal></link>,
- <link linkend="sql-createsubscription-with-run-as-owner"><literal>run_as_owner</literal></link>, and
- <link linkend="sql-createsubscription-with-origin"><literal>origin</literal></link>.
+ <link linkend="sql-createsubscription-params-with-slot-name"><literal>slot_name</literal></link>,
+ <link linkend="sql-createsubscription-params-with-synchronous-commit"><literal>synchronous_commit</literal></link>,
+ <link linkend="sql-createsubscription-params-with-binary"><literal>binary</literal></link>,
+ <link linkend="sql-createsubscription-params-with-streaming"><literal>streaming</literal></link>,
+ <link linkend="sql-createsubscription-params-with-disable-on-error"><literal>disable_on_error</literal></link>,
+ <link linkend="sql-createsubscription-params-with-password-required"><literal>password_required</literal></link>,
+ <link linkend="sql-createsubscription-params-with-run-as-owner"><literal>run_as_owner</literal></link>, and
+ <link linkend="sql-createsubscription-params-with-origin"><literal>origin</literal></link>.
Only a superuser can set <literal>password_required = false</literal>.
</para>
</listitem>
@@ -243,7 +243,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
the logical replication worker skips all data modification changes within
the transaction. This option has no effect on the transactions that are
already prepared by enabling
- <link linkend="sql-createsubscription-with-two-phase"><literal>two_phase</literal></link>
+ <link linkend="sql-createsubscription-params-with-two-phase"><literal>two_phase</literal></link>
on the subscriber.
After the logical replication worker successfully skips the transaction or
finishes a transaction, the LSN (stored in
diff --git a/doc/src/sgml/ref/create_subscription.sgml b/doc/src/sgml/ref/create_subscription.sgml
index db11ebc..f1c20b3 100644
--- a/doc/src/sgml/ref/create_subscription.sgml
+++ b/doc/src/sgml/ref/create_subscription.sgml
@@ -68,7 +68,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
<title>Parameters</title>
<variablelist>
- <varlistentry id="sql-createsubscription-name">
+ <varlistentry id="sql-createsubscription-params-name">
<term><replaceable class="parameter">subscription_name</replaceable></term>
<listitem>
<para>
@@ -77,7 +77,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-connection">
+ <varlistentry id="sql-createsubscription-params-connection">
<term><literal>CONNECTION '<replaceable class="parameter">conninfo</replaceable>'</literal></term>
<listitem>
<para>
@@ -88,7 +88,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-publication">
+ <varlistentry id="sql-createsubscription-params-publication">
<term><literal>PUBLICATION <replaceable class="parameter">publication_name</replaceable> [, ...]</literal></term>
<listitem>
<para>
@@ -97,7 +97,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with">
+ <varlistentry id="sql-createsubscription-params-with">
<term><literal>WITH ( <replaceable class="parameter">subscription_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )</literal></term>
<listitem>
<para>
@@ -109,7 +109,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
<variablelist>
- <varlistentry id="sql-createsubscription-with-connect">
+ <varlistentry id="sql-createsubscription-params-with-connect">
<term><literal>connect</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -136,7 +136,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-create-slot">
+ <varlistentry id="sql-createsubscription-params-with-create-slot">
<term><literal>create_slot</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -152,7 +152,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-enabled">
+ <varlistentry id="sql-createsubscription-params-with-enabled">
<term><literal>enabled</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -163,7 +163,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-slot-name">
+ <varlistentry id="sql-createsubscription-params-with-slot-name">
<term><literal>slot_name</literal> (<type>string</type>)</term>
<listitem>
<para>
@@ -192,7 +192,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
<variablelist>
- <varlistentry id="sql-createsubscription-with-binary">
+ <varlistentry id="sql-createsubscription-params-with-binary">
<term><literal>binary</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -229,7 +229,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-copy-data">
+ <varlistentry id="sql-createsubscription-params-with-copy-data">
<term><literal>copy_data</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -250,7 +250,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-streaming">
+ <varlistentry id="sql-createsubscription-params-with-streaming">
<term><literal>streaming</literal> (<type>enum</type>)</term>
<listitem>
<para>
@@ -278,7 +278,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-synchronous-commit">
+ <varlistentry id="sql-createsubscription-params-with-synchronous-commit">
<term><literal>synchronous_commit</literal> (<type>enum</type>)</term>
<listitem>
<para>
@@ -310,7 +310,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-two-phase">
+ <varlistentry id="sql-createsubscription-params-with-two-phase">
<term><literal>two_phase</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -341,7 +341,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-disable-on-error">
+ <varlistentry id="sql-createsubscription-params-with-disable-on-error">
<term><literal>disable_on_error</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -353,7 +353,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-password-required">
+ <varlistentry id="sql-createsubscription-params-with-password-required">
<term><literal>password_required</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -366,7 +366,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-run-as-owner">
+ <varlistentry id="sql-createsubscription-params-with-run-as-owner">
<term><literal>run_as_owner</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -380,7 +380,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-origin">
+ <varlistentry id="sql-createsubscription-params-with-origin">
<term><literal>origin</literal> (<type>string</type>)</term>
<listitem>
<para>
diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml
index 1417d70..8695571 100644
--- a/doc/src/sgml/ref/pg_dump.sgml
+++ b/doc/src/sgml/ref/pg_dump.sgml
@@ -1488,7 +1488,7 @@ CREATE DATABASE foo WITH TEMPLATE template0;
truncate the target tables before initiating a new full table copy. If users
intend to copy initial data during refresh they must create the slot with
<literal>two_phase = false</literal>. After the initial sync, the
- <link linkend="sql-createsubscription-with-two-phase"><literal>two_phase</literal></link>
+ <link linkend="sql-createsubscription-params-with-two-phase"><literal>two_phase</literal></link>
option will be automatically enabled by the subscriber if the subscription
had been originally created with <literal>two_phase = true</literal> option.
</para>
--
1.8.3.1
Thanks for pushing the 0001 patch! I am unsure what the decision was
for the remaining patches, but anyway, here they are again (rebased).
======
Kind Regards,
Peter Smith.
Fujitsu Australia
Attachments:
v6-0002-Change-ids-for-CREATE-SUBSCRIPTION-parameters.patchapplication/octet-stream; name=v6-0002-Change-ids-for-CREATE-SUBSCRIPTION-parameters.patchDownload
From 6da9c88c971f9d37efeb569afbf83528baeaf398 Mon Sep 17 00:00:00 2001
From: Peter Smith <peter.b.smith@fujitsu.com>
Date: Fri, 13 Oct 2023 14:23:19 +1100
Subject: [PATCH v6] Change ids for CREATE SUBSCRIPTION parameters
---
doc/src/sgml/config.sgml | 2 +-
doc/src/sgml/logical-replication.sgml | 12 +++++------
doc/src/sgml/ref/alter_subscription.sgml | 26 +++++++++++------------
doc/src/sgml/ref/create_subscription.sgml | 34 +++++++++++++++----------------
doc/src/sgml/ref/pg_dump.sgml | 2 +-
5 files changed, 38 insertions(+), 38 deletions(-)
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 3839c72..d244390 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -11686,7 +11686,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
On the publisher side, <varname>debug_logical_replication_streaming</varname>
allows streaming or serializing changes immediately in logical decoding.
When set to <literal>immediate</literal>, stream each change if the
- <link linkend="sql-createsubscription-with-streaming"><literal>streaming</literal></link>
+ <link linkend="sql-createsubscription-params-with-streaming"><literal>streaming</literal></link>
option of
<link linkend="sql-createsubscription"><command>CREATE SUBSCRIPTION</command></link>
is enabled, otherwise, serialize each change. When set to
diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml
index 9f0f059..1bb85e4 100644
--- a/doc/src/sgml/logical-replication.sgml
+++ b/doc/src/sgml/logical-replication.sgml
@@ -253,7 +253,7 @@
will be filled with the default value as specified in the definition of the
target table. However, logical replication in binary format is more
restrictive. See the
- <link linkend="sql-createsubscription-with-binary"><literal>binary</literal></link>
+ <link linkend="sql-createsubscription-params-with-binary"><literal>binary</literal></link>
option of <command>CREATE SUBSCRIPTION</command> for details.
</para>
@@ -593,7 +593,7 @@ ALTER SUBSCRIPTION
<para>
Example 2: Where the subscription says <literal>connect = false</literal>,
but also specifies the
- <link linkend="sql-createsubscription-with-slot-name"><literal>slot_name</literal></link>
+ <link linkend="sql-createsubscription-params-with-slot-name"><literal>slot_name</literal></link>
option.
<itemizedlist>
<listitem>
@@ -712,7 +712,7 @@ ALTER SUBSCRIPTION
then the row is not replicated. The <literal>WHERE</literal> clause expression
is evaluated with the same role used for the replication connection (i.e.
the role specified in the
- <link linkend="sql-createsubscription-connection"><literal>CONNECTION</literal></link>
+ <link linkend="sql-createsubscription-params-connection"><literal>CONNECTION</literal></link>
clause of the <xref linkend="sql-createsubscription"/>). Row filters have
no effect for <command>TRUNCATE</command> command.
</para>
@@ -1518,7 +1518,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
either by <link linkend="sql-altersubscription-params-disable">
<command>ALTER SUBSCRIPTION ... DISABLE</command></link> or, the
subscription can be used with the
- <link linkend="sql-createsubscription-with-disable-on-error"><literal>disable_on_error</literal></link>
+ <link linkend="sql-createsubscription-params-with-disable-on-error"><literal>disable_on_error</literal></link>
option. Then, you can use <function>pg_replication_origin_advance()</function>
function with the <parameter>node_name</parameter> (i.e., <literal>pg_16395</literal>)
and the next LSN of the finish LSN (i.e., 0/14C0379). The current position of
@@ -1531,7 +1531,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
<para>
When the
- <link linkend="sql-createsubscription-with-streaming"><literal>streaming</literal></link>
+ <link linkend="sql-createsubscription-params-with-streaming"><literal>streaming</literal></link>
mode is <literal>parallel</literal>, the finish LSN of failed transactions
may not be logged. In that case, it may be necessary to change the streaming
mode to <literal>on</literal> or <literal>off</literal> and cause the same
@@ -1743,7 +1743,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
zero rows in this view. If the initial data synchronization of any
table is in progress, there will be additional workers for the tables
being synchronized. Moreover, if the
- <link linkend="sql-createsubscription-with-streaming"><literal>streaming</literal></link>
+ <link linkend="sql-createsubscription-params-with-streaming"><literal>streaming</literal></link>
transaction is applied in parallel, there may be additional parallel apply
workers.
</para>
diff --git a/doc/src/sgml/ref/alter_subscription.sgml b/doc/src/sgml/ref/alter_subscription.sgml
index ba70855..6d36ff0 100644
--- a/doc/src/sgml/ref/alter_subscription.sgml
+++ b/doc/src/sgml/ref/alter_subscription.sgml
@@ -72,9 +72,9 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
executed inside a transaction block.
These commands also cannot be executed when the subscription has
- <link linkend="sql-createsubscription-with-two-phase"><literal>two_phase</literal></link>
+ <link linkend="sql-createsubscription-params-with-two-phase"><literal>two_phase</literal></link>
commit enabled, unless
- <link linkend="sql-createsubscription-with-copy-data"><literal>copy_data</literal></link>
+ <link linkend="sql-createsubscription-params-with-copy-data"><literal>copy_data</literal></link>
is <literal>false</literal>. See column <structfield>subtwophasestate</structfield>
of <link linkend="catalog-pg-subscription"><structname>pg_subscription</structname></link>
to know the actual two-phase state.
@@ -178,12 +178,12 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
<para>
See <xref linkend="sql-createsubscription-notes"/> for details of
how <literal>copy_data = true</literal> can interact with the
- <link linkend="sql-createsubscription-with-origin"><literal>origin</literal></link>
+ <link linkend="sql-createsubscription-params-with-origin"><literal>origin</literal></link>
parameter.
</para>
<para>
See the
- <link linkend="sql-createsubscription-with-binary"><literal>binary</literal></link>
+ <link linkend="sql-createsubscription-params-with-binary"><literal>binary</literal></link>
parameter of <command>CREATE SUBSCRIPTION</command> for details about
copying pre-existing data in binary format.
</para>
@@ -220,14 +220,14 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
This clause alters parameters originally set by
<xref linkend="sql-createsubscription"/>. See there for more
information. The parameters that can be altered are
- <link linkend="sql-createsubscription-with-slot-name"><literal>slot_name</literal></link>,
- <link linkend="sql-createsubscription-with-synchronous-commit"><literal>synchronous_commit</literal></link>,
- <link linkend="sql-createsubscription-with-binary"><literal>binary</literal></link>,
- <link linkend="sql-createsubscription-with-streaming"><literal>streaming</literal></link>,
- <link linkend="sql-createsubscription-with-disable-on-error"><literal>disable_on_error</literal></link>,
- <link linkend="sql-createsubscription-with-password-required"><literal>password_required</literal></link>,
- <link linkend="sql-createsubscription-with-run-as-owner"><literal>run_as_owner</literal></link>, and
- <link linkend="sql-createsubscription-with-origin"><literal>origin</literal></link>.
+ <link linkend="sql-createsubscription-params-with-slot-name"><literal>slot_name</literal></link>,
+ <link linkend="sql-createsubscription-params-with-synchronous-commit"><literal>synchronous_commit</literal></link>,
+ <link linkend="sql-createsubscription-params-with-binary"><literal>binary</literal></link>,
+ <link linkend="sql-createsubscription-params-with-streaming"><literal>streaming</literal></link>,
+ <link linkend="sql-createsubscription-params-with-disable-on-error"><literal>disable_on_error</literal></link>,
+ <link linkend="sql-createsubscription-params-with-password-required"><literal>password_required</literal></link>,
+ <link linkend="sql-createsubscription-params-with-run-as-owner"><literal>run_as_owner</literal></link>, and
+ <link linkend="sql-createsubscription-params-with-origin"><literal>origin</literal></link>.
Only a superuser can set <literal>password_required = false</literal>.
</para>
</listitem>
@@ -243,7 +243,7 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
the logical replication worker skips all data modification changes within
the transaction. This option has no effect on the transactions that are
already prepared by enabling
- <link linkend="sql-createsubscription-with-two-phase"><literal>two_phase</literal></link>
+ <link linkend="sql-createsubscription-params-with-two-phase"><literal>two_phase</literal></link>
on the subscriber.
After the logical replication worker successfully skips the transaction or
finishes a transaction, the LSN (stored in
diff --git a/doc/src/sgml/ref/create_subscription.sgml b/doc/src/sgml/ref/create_subscription.sgml
index db11ebc..f1c20b3 100644
--- a/doc/src/sgml/ref/create_subscription.sgml
+++ b/doc/src/sgml/ref/create_subscription.sgml
@@ -68,7 +68,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
<title>Parameters</title>
<variablelist>
- <varlistentry id="sql-createsubscription-name">
+ <varlistentry id="sql-createsubscription-params-name">
<term><replaceable class="parameter">subscription_name</replaceable></term>
<listitem>
<para>
@@ -77,7 +77,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-connection">
+ <varlistentry id="sql-createsubscription-params-connection">
<term><literal>CONNECTION '<replaceable class="parameter">conninfo</replaceable>'</literal></term>
<listitem>
<para>
@@ -88,7 +88,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-publication">
+ <varlistentry id="sql-createsubscription-params-publication">
<term><literal>PUBLICATION <replaceable class="parameter">publication_name</replaceable> [, ...]</literal></term>
<listitem>
<para>
@@ -97,7 +97,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with">
+ <varlistentry id="sql-createsubscription-params-with">
<term><literal>WITH ( <replaceable class="parameter">subscription_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )</literal></term>
<listitem>
<para>
@@ -109,7 +109,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
<variablelist>
- <varlistentry id="sql-createsubscription-with-connect">
+ <varlistentry id="sql-createsubscription-params-with-connect">
<term><literal>connect</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -136,7 +136,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-create-slot">
+ <varlistentry id="sql-createsubscription-params-with-create-slot">
<term><literal>create_slot</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -152,7 +152,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-enabled">
+ <varlistentry id="sql-createsubscription-params-with-enabled">
<term><literal>enabled</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -163,7 +163,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-slot-name">
+ <varlistentry id="sql-createsubscription-params-with-slot-name">
<term><literal>slot_name</literal> (<type>string</type>)</term>
<listitem>
<para>
@@ -192,7 +192,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
<variablelist>
- <varlistentry id="sql-createsubscription-with-binary">
+ <varlistentry id="sql-createsubscription-params-with-binary">
<term><literal>binary</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -229,7 +229,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-copy-data">
+ <varlistentry id="sql-createsubscription-params-with-copy-data">
<term><literal>copy_data</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -250,7 +250,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-streaming">
+ <varlistentry id="sql-createsubscription-params-with-streaming">
<term><literal>streaming</literal> (<type>enum</type>)</term>
<listitem>
<para>
@@ -278,7 +278,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-synchronous-commit">
+ <varlistentry id="sql-createsubscription-params-with-synchronous-commit">
<term><literal>synchronous_commit</literal> (<type>enum</type>)</term>
<listitem>
<para>
@@ -310,7 +310,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-two-phase">
+ <varlistentry id="sql-createsubscription-params-with-two-phase">
<term><literal>two_phase</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -341,7 +341,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-disable-on-error">
+ <varlistentry id="sql-createsubscription-params-with-disable-on-error">
<term><literal>disable_on_error</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -353,7 +353,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-password-required">
+ <varlistentry id="sql-createsubscription-params-with-password-required">
<term><literal>password_required</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -366,7 +366,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-run-as-owner">
+ <varlistentry id="sql-createsubscription-params-with-run-as-owner">
<term><literal>run_as_owner</literal> (<type>boolean</type>)</term>
<listitem>
<para>
@@ -380,7 +380,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
</listitem>
</varlistentry>
- <varlistentry id="sql-createsubscription-with-origin">
+ <varlistentry id="sql-createsubscription-params-with-origin">
<term><literal>origin</literal> (<type>string</type>)</term>
<listitem>
<para>
diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml
index 1417d70..8695571 100644
--- a/doc/src/sgml/ref/pg_dump.sgml
+++ b/doc/src/sgml/ref/pg_dump.sgml
@@ -1488,7 +1488,7 @@ CREATE DATABASE foo WITH TEMPLATE template0;
truncate the target tables before initiating a new full table copy. If users
intend to copy initial data during refresh they must create the slot with
<literal>two_phase = false</literal>. After the initial sync, the
- <link linkend="sql-createsubscription-with-two-phase"><literal>two_phase</literal></link>
+ <link linkend="sql-createsubscription-params-with-two-phase"><literal>two_phase</literal></link>
option will be automatically enabled by the subscriber if the subscription
had been originally created with <literal>two_phase = true</literal> option.
</para>
--
1.8.3.1
v6-0001-Change-ids-for-CREATE-PUBLICATION-parameters.patchapplication/octet-stream; name=v6-0001-Change-ids-for-CREATE-PUBLICATION-parameters.patchDownload
From e45e080f91a83942781f520d5ea2f448b16380dc Mon Sep 17 00:00:00 2001
From: Peter Smith <peter.b.smith@fujitsu.com>
Date: Fri, 13 Oct 2023 14:06:10 +1100
Subject: [PATCH v6] Change ids for CREATE PUBLICATION parameters
---
doc/src/sgml/logical-replication.sgml | 22 +++++++++++-----------
doc/src/sgml/ref/alter_publication.sgml | 6 +++---
doc/src/sgml/ref/create_publication.sgml | 14 +++++++-------
doc/src/sgml/ref/create_subscription.sgml | 6 +++---
doc/src/sgml/system-views.sgml | 4 ++--
5 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml
index 8c3837e..9f0f059 100644
--- a/doc/src/sgml/logical-replication.sgml
+++ b/doc/src/sgml/logical-replication.sgml
@@ -371,7 +371,7 @@ INSERT 0 3
<para>
Create publications for the tables. The publications <literal>pub2</literal>
and <literal>pub3a</literal> disallow some
- <link linkend="sql-createpublication-with-publish"><literal>publish</literal></link>
+ <link linkend="sql-createpublication-params-with-publish"><literal>publish</literal></link>
operations. The publication <literal>pub3b</literal> has a row filter (see
<xref linkend="logical-replication-row-filter"/>).
<programlisting>
@@ -805,7 +805,7 @@ ALTER SUBSCRIPTION
<para>
If the publication contains a partitioned table, the publication parameter
- <link linkend="sql-createpublication-with-publish-via-partition-root"><literal>publish_via_partition_root</literal></link>
+ <link linkend="sql-createpublication-params-with-publish-via-partition-root"><literal>publish_via_partition_root</literal></link>
determines which row filter is used. If <literal>publish_via_partition_root</literal>
is <literal>true</literal>, the <emphasis>root partitioned table's</emphasis>
row filter is used. Otherwise, if <literal>publish_via_partition_root</literal>
@@ -834,7 +834,7 @@ ALTER SUBSCRIPTION
<warning>
<para>
Because initial data synchronization does not take into account the
- <link linkend="sql-createpublication-with-publish"><literal>publish</literal></link>
+ <link linkend="sql-createpublication-params-with-publish"><literal>publish</literal></link>
parameter when copying existing table data, some rows may be copied that
would not be replicated using DML. Refer to
<xref linkend="logical-replication-snapshot"/>, and see
@@ -858,7 +858,7 @@ ALTER SUBSCRIPTION
<para>
If the subscription has several publications in which the same table has
been published with different row filters (for the same
- <link linkend="sql-createpublication-with-publish"><literal>publish</literal></link>
+ <link linkend="sql-createpublication-params-with-publish"><literal>publish</literal></link>
operation), those expressions get ORed together, so that rows satisfying
<emphasis>any</emphasis> of the expressions will be replicated. This means all
the other row filters for the same table become redundant if:
@@ -871,14 +871,14 @@ ALTER SUBSCRIPTION
<listitem>
<para>
One of the publications was created using
- <link linkend="sql-createpublication-for-all-tables"><literal>FOR ALL TABLES</literal></link>.
+ <link linkend="sql-createpublication-params-for-all-tables"><literal>FOR ALL TABLES</literal></link>.
This clause does not allow row filters.
</para>
</listitem>
<listitem>
<para>
One of the publications was created using
- <link linkend="sql-createpublication-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>
+ <link linkend="sql-createpublication-params-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>
and the table belongs to the referred schema. This clause does not allow
row filters.
</para>
@@ -1145,7 +1145,7 @@ test_sub=# SELECT * FROM t1;
<para>
The following examples show how the publication parameter
- <link linkend="sql-createpublication-with-publish-via-partition-root"><literal>publish_via_partition_root</literal></link>
+ <link linkend="sql-createpublication-params-with-publish-via-partition-root"><literal>publish_via_partition_root</literal></link>
determines whether the row filter of the parent or child table will be used
in the case of partitioned tables.
</para>
@@ -1300,13 +1300,13 @@ test_sub=# SELECT * FROM child ORDER BY a;
<para>
Specifying a column list when the publication also publishes
- <link linkend="sql-createpublication-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>
+ <link linkend="sql-createpublication-params-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>
is not supported.
</para>
<para>
For partitioned tables, the publication parameter
- <link linkend="sql-createpublication-with-publish-via-partition-root"><literal>publish_via_partition_root</literal></link>
+ <link linkend="sql-createpublication-params-with-publish-via-partition-root"><literal>publish_via_partition_root</literal></link>
determines which column list is used. If <literal>publish_via_partition_root</literal>
is <literal>true</literal>, the root partitioned table's column list is
used. Otherwise, if <literal>publish_via_partition_root</literal> is
@@ -1624,7 +1624,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
using the identity and schema of the partitioned root table instead of
that of the individual leaf partitions in which the changes actually
originate (see
- <link linkend="sql-createpublication-with-publish-via-partition-root"><literal>publish_via_partition_root</literal></link>
+ <link linkend="sql-createpublication-params-with-publish-via-partition-root"><literal>publish_via_partition_root</literal></link>
parameter of <command>CREATE PUBLICATION</command>).
</para>
</listitem>
@@ -1709,7 +1709,7 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
<note>
<para>
The publication
- <link linkend="sql-createpublication-with-publish"><literal>publish</literal></link>
+ <link linkend="sql-createpublication-params-with-publish"><literal>publish</literal></link>
parameter only affects what DML operations will be replicated. The
initial data synchronization does not take this parameter into account
when copying the existing table data.
diff --git a/doc/src/sgml/ref/alter_publication.sgml b/doc/src/sgml/ref/alter_publication.sgml
index 74fda82..44ae7e0 100644
--- a/doc/src/sgml/ref/alter_publication.sgml
+++ b/doc/src/sgml/ref/alter_publication.sgml
@@ -56,7 +56,7 @@ ALTER PUBLICATION <replaceable class="parameter">name</replaceable> RENAME TO <r
subscribing side in order to become effective. Note also that
<literal>DROP TABLES IN SCHEMA</literal> will not drop any schema tables
that were specified using
- <link linkend="sql-createpublication-for-table"><literal>FOR TABLE</literal></link>/
+ <link linkend="sql-createpublication-params-for-table"><literal>FOR TABLE</literal></link>/
<literal>ADD TABLE</literal>, and the combination of <literal>DROP</literal>
with a <literal>WHERE</literal> clause is not allowed.
</para>
@@ -82,8 +82,8 @@ ALTER PUBLICATION <replaceable class="parameter">name</replaceable> RENAME TO <r
new owning role, and that role must have <literal>CREATE</literal>
privilege on the database.
Also, the new owner of a
- <link linkend="sql-createpublication-for-all-tables"><literal>FOR ALL TABLES</literal></link>
- or <link linkend="sql-createpublication-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>
+ <link linkend="sql-createpublication-params-for-all-tables"><literal>FOR ALL TABLES</literal></link>
+ or <link linkend="sql-createpublication-params-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>
publication must be a superuser. However, a superuser can
change the ownership of a publication regardless of these restrictions.
</para>
diff --git a/doc/src/sgml/ref/create_publication.sgml b/doc/src/sgml/ref/create_publication.sgml
index 606aa64..fd9c5de 100644
--- a/doc/src/sgml/ref/create_publication.sgml
+++ b/doc/src/sgml/ref/create_publication.sgml
@@ -54,7 +54,7 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
<title>Parameters</title>
<variablelist>
- <varlistentry id="sql-createpublication-name">
+ <varlistentry id="sql-createpublication-params-name">
<term><replaceable class="parameter">name</replaceable></term>
<listitem>
<para>
@@ -63,7 +63,7 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
</listitem>
</varlistentry>
- <varlistentry id="sql-createpublication-for-table">
+ <varlistentry id="sql-createpublication-params-for-table">
<term><literal>FOR TABLE</literal></term>
<listitem>
<para>
@@ -117,7 +117,7 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
</listitem>
</varlistentry>
- <varlistentry id="sql-createpublication-for-all-tables">
+ <varlistentry id="sql-createpublication-params-for-all-tables">
<term><literal>FOR ALL TABLES</literal></term>
<listitem>
<para>
@@ -127,7 +127,7 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
</listitem>
</varlistentry>
- <varlistentry id="sql-createpublication-for-tables-in-schema">
+ <varlistentry id="sql-createpublication-params-for-tables-in-schema">
<term><literal>FOR TABLES IN SCHEMA</literal></term>
<listitem>
<para>
@@ -158,7 +158,7 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
</listitem>
</varlistentry>
- <varlistentry id="sql-createpublication-with">
+ <varlistentry id="sql-createpublication-params-with">
<term><literal>WITH ( <replaceable class="parameter">publication_parameter</replaceable> [= <replaceable class="parameter">value</replaceable>] [, ... ] )</literal></term>
<listitem>
<para>
@@ -166,7 +166,7 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
following parameters are supported:
<variablelist>
- <varlistentry id="sql-createpublication-with-publish">
+ <varlistentry id="sql-createpublication-params-with-publish">
<term><literal>publish</literal> (<type>string</type>)</term>
<listitem>
<para>
@@ -188,7 +188,7 @@ CREATE PUBLICATION <replaceable class="parameter">name</replaceable>
</listitem>
</varlistentry>
- <varlistentry id="sql-createpublication-with-publish-via-partition-root">
+ <varlistentry id="sql-createpublication-params-with-publish-via-partition-root">
<term><literal>publish_via_partition_root</literal> (<type>boolean</type>)</term>
<listitem>
<para>
diff --git a/doc/src/sgml/ref/create_subscription.sgml b/doc/src/sgml/ref/create_subscription.sgml
index c1bafbf..db11ebc 100644
--- a/doc/src/sgml/ref/create_subscription.sgml
+++ b/doc/src/sgml/ref/create_subscription.sgml
@@ -452,8 +452,8 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
the case of different <literal>WHERE</literal> clauses, if one of the
publications has no <literal>WHERE</literal> clause (referring to that
publish operation) or the publication is declared as
- <link linkend="sql-createpublication-for-all-tables"><literal>FOR ALL TABLES</literal></link>
- or <link linkend="sql-createpublication-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>,
+ <link linkend="sql-createpublication-params-for-all-tables"><literal>FOR ALL TABLES</literal></link>
+ or <link linkend="sql-createpublication-params-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>,
rows are always published regardless of the definition of the other
expressions. If the subscriber is a <productname>PostgreSQL</productname>
version before 15, then any row filtering is ignored during the initial data
@@ -461,7 +461,7 @@ CREATE SUBSCRIPTION <replaceable class="parameter">subscription_name</replaceabl
deleting any initially copied data that would be incompatible with
subsequent filtering. Because initial data synchronization does not take
into account the publication
- <link linkend="sql-createpublication-with-publish"><literal>publish</literal></link>
+ <link linkend="sql-createpublication-params-with-publish"><literal>publish</literal></link>
parameter when copying existing table data, some rows may be copied that
would not be replicated using DML. See
<xref linkend="logical-replication-subscription-examples"/> for examples.
diff --git a/doc/src/sgml/system-views.sgml b/doc/src/sgml/system-views.sgml
index 2b35c2f..fc7329e 100644
--- a/doc/src/sgml/system-views.sgml
+++ b/doc/src/sgml/system-views.sgml
@@ -2151,8 +2151,8 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
tables they contain. Unlike the underlying catalog
<link linkend="catalog-pg-publication-rel"><structname>pg_publication_rel</structname></link>,
this view expands publications defined as
- <link linkend="sql-createpublication-for-all-tables"><literal>FOR ALL TABLES</literal></link>
- and <link linkend="sql-createpublication-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>,
+ <link linkend="sql-createpublication-params-for-all-tables"><literal>FOR ALL TABLES</literal></link>
+ and <link linkend="sql-createpublication-params-for-tables-in-schema"><literal>FOR TABLES IN SCHEMA</literal></link>,
so for such publications there will be a row for each eligible table.
</para>
--
1.8.3.1
On Mon, Oct 16, 2023 at 6:15 AM Peter Smith <smithpb2250@gmail.com> wrote:
Thanks for pushing the 0001 patch! I am unsure what the decision was
for the remaining patches, but anyway, here they are again (rebased).
To keep the link names the same in logical replication-related
commands, I have pushed your patch.
--
With Regards,
Amit Kapila.