On Thu, 15 May 2025 at 18:19, Amit Kapila <amit.kapil...@gmail.com> wrote: > > On Sun, May 11, 2025 at 6:53 AM Álvaro Herrera <alvhe...@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. >
This approach seems better to me. I have created a patch with the above approach. Thanks and Regards, Shlok Kyal
v15-0001-Restrict-publishing-of-partitioned-table-with-fo.patch
Description: Binary data