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 <[email protected]> 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?"
diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml
new file mode 100644
index 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 ----