Re: Handle infinite recursion in logical replication setup

vignesh C <vignesh21@gmail.com>

From: vignesh C <vignesh21@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Dilip Kumar <dilipbalaut@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>, Peter Smith <smithpb2250@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, "kuroda.hayato@fujitsu.com" <kuroda.hayato@fujitsu.com>, "shiy.fnst@fujitsu.com" <shiy.fnst@fujitsu.com>
Date: 2022-07-18T11:28:32Z
Lists: pgsql-hackers

Attachments

On Mon, Jul 18, 2022 at 10:23 AM Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> On Sat, Jul 16, 2022 at 10:29 AM Dilip Kumar <dilipbalaut@gmail.com> wrote:
> >
> > I think giving two options would be really confusing from the
> > usability perspective.  I think what we should be doing here is to
> > keep these three names 'none', 'any' and 'local' as reserved names for
> > the origin name so that those are not allowed to be set by the user
> > and they have some internal meaning.
> >
>
> This makes sense to me. I think we can avoid reserving 'local' for now
> till we agree on its use case and implementation. One similar point
> about slots is that we treat 'none' slot_name in subscription commands
> as a special value indicating no slot name whereas we do allow
> creating a slot with the name 'none' with
> pg_create_logical_replication_slot(). So, if we want to follow a
> similar convention here, we may not need to add any restriction for
> origin names but personally, I think it is better to add such a
> restriction to avoid confusion and in fact, as a separate patch we
> should even disallow creating slot name as 'none'.

I have made changes to disallow the name "any" and "none" in
pg_replication_origin_create. The attached v34 patch has the changes
for the same. I will post a separate patch to disallow creation of
slots with names as 'none' separately later.

Regards,
Vignesh

Commits

  1. Improved CREATE SUBSCRIPTION message for clarity

  2. Fix the test case introduced by commit 8756930190.

  3. Raise a warning if there is a possibility of data from multiple origins.

  4. Add wait_for_subscription_sync for TAP tests.

  5. Bump catversion for commit d8cd0c6c95c0120168df93aae095df4e0682a08a.

  6. Allow users to skip logical replication of data having origin.

  7. Improve two comments related to a boolean DefElem's value

  8. doc: Fix man page whitespace issues