@@ -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