On Mon, Jun 19, 2023 at 5:29 PM Peter Smith <smithpb2250@gmail.com> wrote:
>
> Hi,
>
> Below are my review comments for the PoC patch 0001.
>
> In addition, the patch needed rebasing, and, after I rebased it
> locally in my private environment there were still test failures:
> a) The 'make check' tests fail but only in a minor way due to changes colname
> b) the subscription TAP test did not work at all for me -- many errors.
Thank you for reviewing the patch.
While updating the patch, I realized that the current approach won't
work well or at least has the problem with partition tables. If a
publication has a partitioned table with publish_via_root = false, the
subscriber launches tablesync workers for its partitions so that each
tablesync worker copies data of each partition. Similarly, if it has a
partition table with publish_via_root = true, the subscriber launches
a tablesync worker for the parent table. With the current design,
since the tablesync worker is responsible for both schema and data
synchronization for the target table, it won't be possible to
synchronize both the parent table's schema and partitions' schema. For
example, there is no pg_subscription_rel entry for the parent table if
the publication has publish_via_root = false. In addition to that, we
need to be careful about the order of synchronization of the parent
table and its partitions. We cannot start schema synchronization for
partitions before its parent table. So it seems to me that we need to
consider another approach.
Regards,
--
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com