Re: Logical Replication of sequences
Peter Smith <smithpb2250@gmail.com>
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Doc: Add documentation for sequence synchronization.
- 55cefadde874 19 (unreleased) landed
-
Remove unused assignment in CREATE PUBLICATION grammar.
- bfb7419b0bbe 19 (unreleased) landed
-
Add seq_sync_error_count to subscription statistics.
- f6a4c498dcf6 19 (unreleased) landed
-
Fix few issues in commit 5509055d69.
- 5a4eba558aa7 19 (unreleased) landed
-
Add sequence synchronization for logical replication.
- 5509055d6956 19 (unreleased) landed
-
Add worker type argument to logical replication worker functions.
- 3e8e05596a02 19 (unreleased) landed
-
Introduce "REFRESH SEQUENCES" for subscriptions.
- f0b3573c3aac 19 (unreleased) landed
-
Refactor logical worker synchronization code into a separate file.
- 41c674d2e31e 19 (unreleased) landed
-
Standardize use of REFRESH PUBLICATION in code and messages.
- 2436b8c047ff 19 (unreleased) landed
-
Add "ALL SEQUENCES" support to publications.
- 96b378497346 19 (unreleased) landed
-
Expose sequence page LSN via pg_get_sequence_data.
- b93172ca59f4 19 (unreleased) landed
-
Resume conflict-relevant data retention automatically.
- 0d48d393d465 19 (unreleased) cited
-
Post-commit review fixes for 228c370868.
- 1f7e9ba3ac4e 19 (unreleased) cited
-
Generate GUC tables from .dat file
- 63599896545c 19 (unreleased) cited
Hi Vignesh, Here are a few small review comments just for the docs
part of patch 0001:
======
Commit message
1.
In addition to the new command, the following subscription commands have
been enhanced to automatically refresh sequence mappings:
~
Is "mappings" the right word?
======
doc/src/sgml/ref/alter_subscription.sgml
2.
<para>
- When false, the command will not try to refresh table information.
- <literal>REFRESH PUBLICATION</literal> should then be
executed separately.
- The default is <literal>true</literal>.
+ When false, the command will not try to refresh table and sequence
+ information. <literal>REFRESH PUBLICATION</literal> should then be
+ executed separately. The default is <literal>true</literal>.
</para>
I thought false should use markup: <literal>false</literal> (just
like true does)
~~~
3.
+ <para>
+ Previously subscribed sequences are not re-synchronized. To do that,
+ see <link linkend="sql-altersubscription-params-refresh-sequences">
+ <command>ALTER SUBSCRIPTION ... REFRESH SEQUENCES</command></link>.
+ </para>
/To do that, see/To do that, use/
~~~
4.
+ <para>
+ Re-synchronize sequence data with the publisher. Unlike
+ <link linkend="sql-altersubscription-params-refresh-publication">
+ <literal>ALTER SUBSCRIPTION ... REFRESH
PUBLICATION</literal></link> which
+ only synchronizes newly added sequences, <literal>REFRESH
SEQUENCES</literal>
+ will re-synchronize the sequence data for all subscribed sequences. It
+ does not add or remove the missing publication sequences from the
+ subscription.
+ </para>
4a.
IMO the ALTER SUBSCRIPTION command should have <command> markup
instead of <literal>
~
4b.
I wondered if that part "...for all subscribed sequences" should say
"...for all currently subscribed sequences", just for more clarity.
~
4c.
I do not think you need to say "the missing" here; IMO, that just
leads to more questions -- missing from where? How do you remove
something that is missing? etc. The suggestion below removes the
ambiguity.
SUGGESTION:
It does not add or remove sequences from the subscription to match the
publication.
======
Kind Regards,
Peter Smith.
Fujitsu Australia