Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4a0e731

Browse files
author
Amit Kapila
committed
Doc: Update the interaction of tablesync with wal_retrieve_retry_interval.
In passing, update the documentation that explains the process of initialdata replication to explicitly state that it uses a table synchronizationworker.Author: Vignesh CReviewed-by: Peter Smith, Shlok Kyal, Amit KapilaDiscussion:https://postgr.es/m/CALDaNm3RxGcD4cDAV5Q0_A4n06F3+AAMpxiyND9Zn0dB86hFmg@mail.gmail.com
1 parentbe31ac2 commit4a0e731

File tree

2 files changed

+25
-13
lines changed

2 files changed

+25
-13
lines changed

‎doc/src/sgml/config.sgml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4953,7 +4953,8 @@ ANY <replaceable class="parameter">num_sync</replaceable> ( <replaceable class="
49534953
</para>
49544954
<para>
49554955
In logical replication, this parameter also limits how often a failing
4956-
replication apply worker will be respawned.
4956+
replication apply worker or table synchronization worker will be
4957+
respawned.
49574958
</para>
49584959
</listitem>
49594960
</varlistentry>

‎doc/src/sgml/logical-replication.sgml

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2017,18 +2017,20 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
20172017
<title>Initial Snapshot</title>
20182018
<para>
20192019
The initial data in existing subscribed tables are snapshotted and
2020-
copied in a parallel instance of a special kind of apply process.
2021-
This process will create its own replication slot and copy the existing
2022-
data. As soon as the copy is finished the table contents will become
2023-
visible to other backends. Once existing data is copied, the worker
2024-
enters synchronization mode, which ensures that the table is brought
2025-
up to a synchronized state with the main apply process by streaming
2026-
any changes that happened during the initial data copy using standard
2027-
logical replication. During this synchronization phase, the changes
2028-
are applied and committed in the same order as they happened on the
2029-
publisher. Once synchronization is done, control of the
2030-
replication of the table is given back to the main apply process where
2031-
replication continues as normal.
2020+
copied in a parallel instances of a special kind of apply process.
2021+
These special apply processes are dedicated table synchronization
2022+
workers, spawned for each table to be synchronized. Each table
2023+
synchronization process will create its own replication slot and
2024+
copy the existing data. As soon as the copy is finished the table
2025+
contents will become visible to other backends. Once existing data
2026+
is copied, the worker enters synchronization mode, which ensures
2027+
that the table is brought up to a synchronized state with the main
2028+
apply process by streaming any changes that happened during the
2029+
initial data copy using standard logical replication. During this
2030+
synchronization phase, the changes are applied and committed in the same
2031+
order as they happened on the publisher. Once synchronization is done,
2032+
control of the replication of the table is given back to the main apply
2033+
process where replication continues as normal.
20322034
</para>
20332035
<note>
20342036
<para>
@@ -2039,6 +2041,15 @@ CONTEXT: processing remote data for replication origin "pg_16395" during "INSER
20392041
when copying the existing table data.
20402042
</para>
20412043
</note>
2044+
<note>
2045+
<para>
2046+
If a table synchronization worker fails during copy, the apply worker
2047+
detects the failure and respawns the table synchronization worker to
2048+
continue the synchronization process. This behaviour ensures that
2049+
transient errors do not permanently disrupt the replication setup. See
2050+
also <link linkend="guc-wal-retrieve-retry-interval"><varname>wal_retrieve_retry_interval</varname></link>.
2051+
</para>
2052+
</note>
20422053
</sect2>
20432054
</sect1>
20442055

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp