Logical Replication extension for PostgreSQL 17, 16, 15, 14, 13, 12, 11, 10, 9.6, 9.5, 9.4 (Postgres), providing much faster replication than Slony, Bucardo or Londiste, as well as cross-version upgrades.
The subscriber correctly synchronized the table structure and data of T1 and T2, but did synchronize the table structure of T3 and T4.
pgdb01=# \d
List of relations
Schema | Name | Type | Owner
--------+------+-------+--------
public | t1 | table | pguser
public | t2 | table | pguser
public | t3 | table | pguser
public | t4 | table | pguser
(4 rows)
pgdb01=# select * from t1;
id | name
----+------
1 | a
2 | b
3 | c
(3 rows)
pgdb01=# select * from t2;
id | name
----+------
11 | aa
22 | bb
33 | cc
(3 rows)
pgdb01=# select * from t3;
id | name
----+------
(0 rows)
pgdb01=# select * from t4;
id | name
----+------
If I set synchronize_structure to false and manually create the table structure, it is correct, and only the table structure and data of T1 and T2 will be synchronized, but this seems to increase the workload and does not conform to the corresponding relationship between the publication set and the table.
My publisher has four tables and two replication sets, Repset1 (T1, T2) and Repset2 (T3, T4).
The command at the subscriber is
The subscriber correctly synchronized the table structure and data of T1 and T2, but did synchronize the table structure of T3 and T4.
If I set synchronize_structure to false and manually create the table structure, it is correct, and only the table structure and data of T1 and T2 will be synchronized, but this seems to increase the workload and does not conform to the corresponding relationship between the publication set and the table.