On Sun, May 11, 2025 at 6:53 AM Álvaro Herrera <alvherre@alvh.no-ip.org> wrote:
>
> But the non-idiomatic locking of pg_partitioned_table appears to
> continue to be the pain point of this patch. My impression is that
> using a lock is the wrong approach to solve the concurrency problem.
> Maybe we can use a ConditionVariable instead somehow. (The real trick
> here is to figure out exactly _how_ to use the CV, I mean what exactly
> is the condition that the CV sleeps on?)
>
Can we fix this problem by having a check at the time of
CREATESUBSCRIPTION such that, if copy-data is true, then we ensure
that the specified publishers don't have a foreign table? We have a
somewhat similar check for publications in the function
check_publications_origin(), though for a different purpose. Along
with it, we can still have a check during foreign table
creation/attach that it doesn't become part of some publication, as
the patch may have it now.
--
With Regards,
Amit Kapila.