The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/17/logical-replication-subscription.html
Description:

Hi,
https://www.postgresql.org/docs/17/logical-replication-subscription.html#LOGICAL-REPLICATION-SUBSCRIPTION-EXAMPLES
Firstly - a big thank you!
As an Oracle DBA, new to PostgreSQL, and therefore learning all the time,
every time I have reason to consult the PostgreSQL documentation, I'm hugely
impressed with the amount, quality, clarity, and accessibility of the
documentation provided. As a documentaion anorak myself, it brings a big
smile to my face so, as I said, thank you!
Today, I happened to be re-doing, and expanding on, labs on logical
replication, covered on a recently-completed course. I browsed through the
online documentation, (smiled), and started following the examples provided
in "29.2.2. Examples: Set Up Logical Replication."
Having created tables on publisher and subscriber, inserted data on the
publisher, and created publication and subscription, I found my results to
be the exact opposite of those indicated here - "Observe that initial table
data is copied, regardless of the publish operation of the publication.".
My subscriber tables t2 and t3 were emply (as though the (publish =
'truncate') rule had in fact been applied to the initial data).
As a result, having inserted the second set of data, my tables now look like
this:
=================
= Publisher
=================
postgres=# INSERT INTO t1 VALUES (4, 'four'), (5, 'five'), (6, 'six');
INSERT 0 3
postgres=# INSERT INTO t2 VALUES (4, 'D'), (5, 'E'), (6, 'F');
INSERT 0 3
postgres=# INSERT INTO t3 VALUES (4, 'iv'), (5, 'v'), (6, 'vi');
INSERT 0 3
postgres=# SELECT * FROM t1;
 a |   b
---+-------
 1 | one
 2 | two
 3 | three
 4 | four
 5 | five
 6 | six
(6 rows)
postgres=# SELECT * FROM t2;
 c | d
---+---
 1 | A
 2 | B
 3 | C
 4 | D
 5 | E
 6 | F
(6 rows)
postgres=# SELECT * FROM t3;
 e |  f
---+-----
 1 | i
 2 | ii
 3 | iii
 4 | iv
 5 | v
 6 | vi
(6 rows)
=================
= Subscriber
=================
postgres=# SELECT * FROM t1;
 a |   b
---+-------
 1 | one
 2 | two
 3 | three
 4 | four
 5 | five
 6 | six
(6 rows)
postgres=# SELECT * FROM t2;
 c | d
---+---
(0 rows)
postgres=# SELECT * FROM t3;
 e | f
---+---
(0 rows)
Have I misunderstood something, perhaps inadvertantly mis-configured some
obscure parameter, or (please no!) is the documentation incorrect?
Thanks in advance for any guidance you're able to offer.
Regards,
Jes

Reply via email to