On Fri, 31 Jan 2025 at 10:38, Sergey Tatarintsev <s.tatarint...@postgrespro.ru> wrote: > > Ok, but maybe it will be correct to raise an WARNING (or at least LOG) > that some tables was skipped during publication. What do you think? > > And I think we need check tables which was really published in case of > 'FOR ALL TABLES' and 'FOR TABLES IN SCHEMA' in our tests. See attach. > > Also it looks strange - we raise an ERROR for partitioned tables > containing foreign partitions , but just skip foreign tables as itself. > I think there should be the same behavior in both cases - raise an ERROR > or skip.
I believe this behavior is acceptable. We should throw an error for partitioned tables that contain foreign partitions, as this would include the data from these foreign tables during the initial sync, while incremental changes would not be replicated. However, in the case of foreign tables, neither the initial sync nor the incremental sync will occur. Additionally, it is documented in [1] that foreign tables are not supported, so this behavior is in line with the documentation and is acceptable. [1] - https://www.postgresql.org/docs/current/logical-replication-restrictions.html Regards, Vignesh