Re: Handle infinite recursion in logical replication setup

Amit Kapila <amit.kapila16@gmail.com>

From: Amit Kapila <amit.kapila16@gmail.com>
To: Dilip Kumar <dilipbalaut@gmail.com>
Cc: vignesh C <vignesh21@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-18T04:52:50Z
Lists: pgsql-hackers
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'.

-- 
With Regards,
Amit Kapila.



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