From: Bruce Momjian <bruce@momjian.us>
To: Koen De Groote <kdg.dev@gmail.com>
Cc: pgsql-docs@lists.postgresql.org
Subject: Re: Logical replication - initial data synchronization
Date: Thu, 17 Oct 2024 09:08:26 -0400
Message-ID: <ZxEMSjl4gRWDeFO1@momjian.us> (raw)
In-Reply-To: <CAGbX52HcDV7S5tEbsQEDWAJkfMBrm7OYaCmn_bt5shtm_Td-YQ@mail.gmail.com>
References: <171606613152.686.7693963105919927503@wrigleys.postgresql.org>
<ZxBmaWEH-gX_rkUX@momjian.us>
<CAGbX52HcDV7S5tEbsQEDWAJkfMBrm7OYaCmn_bt5shtm_Td-YQ@mail.gmail.com>
On Thu, Oct 17, 2024 at 10:59:51AM +0200, Koen De Groote wrote:
> Hello Bruce, thanks for picking this up.
>
> Personally, I would make explicit mention of the fact that creating the
> snapshot and copying the data is taken care of by Postgres itself. Those are
> the points that had me confused early on, wondering if I had to perform the
> copy once the snapshot was ready.
Updated patch attached. I tried to tighten up the wording and add more
detail. I didn't see the point in repeating the same paragraph later on
so I removed it.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
When a patient asks the doctor, "Am I going to die?", he means
"Am I going to die soon?"
Attachments:
[text/x-diff] logical.diff (3.0K, ../ZxEMSjl4gRWDeFO1@momjian.us/2-logical.diff)
download | inline diff:diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgmlnew file mode 100644index 98a7ad0..f104125
*** a/doc/src/sgml/logical-replication.sgml
--- b/doc/src/sgml/logical-replication.sgml
***************
*** 24,33 ****
</para>
<para>
! Logical replication of a table typically starts with taking a snapshot
! of the data on the publisher database and copying that to the subscriber.
! Once that is done, the changes on the publisher are sent to the subscriber
! as they occur in real-time. The subscriber applies the data in the same
order as the publisher so that transactional consistency is guaranteed for
publications within a single subscription. This method of data replication
is sometimes referred to as transactional replication.
--- 24,34 ----
</para>
<para>
! When logical replication of a table typically starts, a snapshot is
! taken of the table's data on the publisher database and copied to the
! subscriber. Once complete, changes on the publisher since the initial
! copy are sent continually to the subscriber. The subscriber applies
! the data in the same
order as the publisher so that transactional consistency is guaranteed for
publications within a single subscription. This method of data replication
is sometimes referred to as transactional replication.
***************
*** 165,171 ****
The individual tables can be added and removed dynamically using
<link linkend="sql-alterpublication"><command>ALTER PUBLICATION</command></link>. Both the <literal>ADD
TABLE</literal> and <literal>DROP TABLE</literal> operations are
! transactional; so the table will start or stop replicating at the correct
snapshot once the transaction has committed.
</para>
</sect1>
--- 166,172 ----
The individual tables can be added and removed dynamically using
<link linkend="sql-alterpublication"><command>ALTER PUBLICATION</command></link>. Both the <literal>ADD
TABLE</literal> and <literal>DROP TABLE</literal> operations are
! transactional, so the table will start or stop replicating at the correct
snapshot once the transaction has committed.
</para>
</sect1>
*************** CONTEXT: processing remote data for rep
*** 1953,1967 ****
<title>Architecture</title>
<para>
- Logical replication starts by copying a snapshot of the data on the- publisher database. Once that is done, changes on the publisher are sent- to the subscriber as they occur in real time. The subscriber applies data- in the order in which commits were made on the publisher so that- transactional consistency is guaranteed for the publications within any- single subscription.- </para>- - <para>
Logical replication is built with an architecture similar to physical
streaming replication (see <xref linkend="streaming-replication"/>). It is
implemented by <literal>walsender</literal> and <literal>apply</literal>
--- 1954,1959 ----
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-docs@postgresql.org
Cc: bruce@momjian.us, kdg.dev@gmail.com, pgsql-docs@lists.postgresql.org
Subject: Re: Logical replication - initial data synchronization
In-Reply-To: <ZxEMSjl4gRWDeFO1@momjian.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox