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 <br...@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?"
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 ----