Re: create subscription with (origin = none, copy_data = on) - Mailing list pgsql-hackers

From Sergey Tatarintsev
Subject Re: create subscription with (origin = none, copy_data = on)
Date
Msg-id 890397e6-93d3-4f2f-ac0e-7ee4f8722252@postgrespro.ru
Whole thread Raw
In response to RE: create subscription with (origin = none, copy_data = on)  ("Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>)
List pgsql-hackers
23.01.2025 15:24, Zhijie Hou (Fujitsu) пишет:
> On Thursday, January 23, 2025 4:43 PM Shlok Kyal <shlok.kyal.oss@gmail.com> wrote:
>> On Thu, 23 Jan 2025 at 12:35, Shlok Kyal <shlok.kyal.oss@gmail.com> wrote:
>>> On Wed, 22 Jan 2025 at 09:00, Zhijie Hou (Fujitsu)
>>> <houzj.fnst@fujitsu.com> wrote:
>>>> Thanks for the patch.
>>>>
>>>> I agree that covering the partitioned table case when checking the
>>>> non-local origin data on publisher is an improvement. But I think
>>>> adding or extending the SQL functions may not be the appropriate way
>>>> to fix because the new functions cannot be used in older PG version and is
>> also not backpatchable.
>>>> I am thinking it would be better to use the existing
>>>> pg_partition_ancestors() and pg_partition_tree() to verify the same,
>>>> which can be used in all supported PG versions and is also backpatchable.
>>>>
>>>> And here is another version which fixed the issue like that. I have
>>>> not added tests for it, but I think it's doable to write the
>>>> something like the testcases provided by Sergey. This patch does not
>>>> fix the foreign tabel as that seems to be a separate issue which can be fixed
>> independtly.
>>>> Hi Sergey, if you have the time, could you please verify whether
>>>> this patch resolves the partition issue you reported? I've confirmed
>>>> that it passes the partitioned tests in the scripts, but I would
>>>> appreciate your confirmation for the same.
>>> Hi Hou-san,
>>>
>>> I tested the patch, and it is working fine on HEAD.
>>> I also tried to apply the patches to back branches PG17 and PG 16. But
>>> the patch does not apply.
>>>
>>> This 'origin' option was added in PG 16. So, this patch will not be
>>> required for PG 15 and back branches.
>>>
>> I have created a patch which applies to both PG17 and PG 16. The
>> v6-0002 is the test patch. It applies to all the branches (HEAD, PG17,
>> PG16) correctly.
> Thanks for the patch. I think the testcases could be improved.
>
> It's not clear why a separate schema is created for tables. I assume it was
> initially intended to test TABLES IN SCHEMA but was later modified. If the
> separate schema is still necessary, could you please add comments to clarify
> its purpose?
>
> Besides, the new table name 'ts' seems a bit unconventional. It would be better
> to align with the naming style of existing test cases for consistency and
> clarity.
>
> Also, Sergey had suggested adding an more test to verify scenarios where the
> table's ancestors are subscribed. It appears this hasn't been added yet. I
> think it would be better to add it.
>
> Best Regards,
> Hou zj

Hi!

That's right, separate schema was used to test  "CREATE PUBLICATION FOR 
TABLES IN SCHEMA".

My first patch with test cases contains 3 scenarios:

CREATE PUBLICATION pub_a FOR TABLE ts.t;

CREATE PUBLICATION pub_a_via_root FOR TABLE ts.t WITH 
(publish_via_partition_root);

CREATE PUBLICATION pub_a_schema FOR TABLES IN SCHEMA ts WITH 
(publish_via_partition_root);

(but not scenario where the table's ancestors are subscribed)





pgsql-hackers by date:

Previous
From: Jelte Fennema-Nio
Date:
Subject: New process of getting changes into the commitfest app
Next
From: Jelte Fennema-Nio
Date:
Subject: Re: New process of getting changes into the commitfest app