Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vpKfn-005uev-1f for pgsql-hackers@arkaria.postgresql.org; Mon, 09 Feb 2026 06:23:03 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vpKfl-009O1k-12 for pgsql-hackers@arkaria.postgresql.org; Mon, 09 Feb 2026 06:23:01 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vpKfk-009O1c-2V for pgsql-hackers@lists.postgresql.org; Mon, 09 Feb 2026 06:23:00 +0000 Received: from mail-oa1-x2e.google.com ([2001:4860:4864:20::2e]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vpKfi-00000001ETR-0xmD for pgsql-hackers@lists.postgresql.org; Mon, 09 Feb 2026 06:22:59 +0000 Received: by mail-oa1-x2e.google.com with SMTP id 586e51a60fabf-409521ba360so2870919fac.2 for ; Sun, 08 Feb 2026 22:22:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1770618176; cv=none; d=google.com; s=arc-20240605; b=N5cai4ZV/ad02hbLuoiasx83yo6RqiQFwUoVyUh8W6c7lorrDc8Pu7iUfHqdTt6uFq PPXcoUEV7C2ug1+GPCvfRYAk5GhvhuOrZXBEoHErLDwS1y9LUmoUPfycWTVtA20iUfas R/YszO7wjjIKqBKzgtJlUFENloKN97P2aDR/jsAq7kUgg5UvV9Si0pw4lMmid6OAu7E6 V2rkr3E29nLpXtM13XS6HM5P4wKnPq1PBTC0/qkBHYBQEOiNwzaBlkTA4WnXmH5bhZ5S Hjue+KymhdMOitF2EBrHDvonCsMpTV+sQytwBUTJMaSa+JFgSId+Qj4UEVn7Un3ofXcr gbWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:dkim-signature; bh=CVlC1rDo3mSF7zf8UNX2PMfn+u/gi6MsZbWX9uwnrh8=; fh=zrlcV2Dba3oV1Yee8g1Ihk2NecfK2eVWdROlkw1/F5s=; b=ZpHAKZxcDM0GucN2jNZ4La1Qd5VbcbZD4KoqD5IhopA7ATM4qf3NA1bNm+KTteU5Ei nNAjKm1Cf0C1hrpHKqu15w4T1RN03OQRk25rYr4ImLR9M4f0PnCI7Py+25zHU93UupE0 iubLDukbqIyv0dDr/qTo4DAGh3nvgOkuOMkr/n4GpQfPCsRbFcBIrnkO7weRC3oim5Fr XKmKoH7TVjdEMUUgbFSRVzfeOnB5BFG+17gl8uh422hQzOcjEqfVOL+BcoUeK1wirefK P1AqYcmWLDI+yzYSM4XEjaFhXTRljAtmE6p3dCmxECne3rFLCF0fB/SHaKaLCDuAscKE bMxQ==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770618176; x=1771222976; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=CVlC1rDo3mSF7zf8UNX2PMfn+u/gi6MsZbWX9uwnrh8=; b=gdmM0KYnoCogsnd0nULx9neIeJE0FLhbSXGHN1j4vcLkDTaw2zJz+lT5aIXM+w/eKT So67txxKr1vfIGREWBMJy9GvclQ+aLuNsvH4xQuU5NToKTQBf1C4VLx3ye8dJmmBnVoN 64GibMJ9yL3Oz5HluX01su3JTmCg9AgZnnALbdvaqrJ+6rgsmRkFPwNy4GxwnRXabChh ooI5w4Ej2/OqX1CsHn48v6/sPhcFb6ry2rpnT+iwd4lgJY5zXopQniB0XSk2qqrMQn1O w/uHem2ZxsrUVhv5TENMlzN4H78Q5Z5ZvK3syv752dmcxa01ZiFKCZlPRd2TKCRXW5CJ UogQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770618176; x=1771222976; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=CVlC1rDo3mSF7zf8UNX2PMfn+u/gi6MsZbWX9uwnrh8=; b=RfoJfn6N/CQqQIDy57WLcjLIC87pFtLJ5yzs8x7CUW18iRfZ5r0Z8ol+LY2bScyNe0 UIyn7AjHEK3OmqwfsE9YXVlOUDKc8t+FZOLRwhiyXLKNRir09JHMRhAEwkpJyowIC4CV kNF9CBsZjrDtgITDAfwi1QirvX3Vjk/iFDiG3PTzUMdKu32oblwJQ/sgtMV+9OTBOv9P jQua00s1Bw4SIIHZ5SY6gxB1AY4xPH6un6XALhQr50LYTDucc+41ZE8dSFt8T6emqiCe TSJYOGIsZdSgbwSdC6KxzjG4SpSpjdwfx2NxX/GqL0x/4lAGWUsDOYPnwpOeqJE5xByR 3jSA== X-Forwarded-Encrypted: i=1; AJvYcCUuwmQ//p0EKtz2OmGPqXI9Cxas4CPpdlBx2mFCdHTLJq5BB66KZc4WVFuLsQsjv8rQmaXgWQsqkFyleTIP@lists.postgresql.org X-Gm-Message-State: AOJu0YwXz7YZYqew+lmBqaNkkXpZfmhmneO9VJvElUqf2v+RIOfDs4rD 2HnQU+cHzhA6nKTyxhXausb/6y5fDM0377XgRtq8gaPFuqaDfEWN456U8R/insKKJQGWiwcE/vn DC2OnCGJSA9fKPYcQMNuQ5HYTDjvGVCc= X-Gm-Gg: AZuq6aIi+1rtV4ev/wYmmX67LwWi6IVGvJU8+QH3vqNAeoU6ZCgzD+93kFVvqKD/sDQ VwWiEyNgT8YgEAZ9BbtuOOYduCNk2FbmI1Fr5Y2dqDSwbR0WBHu5K2pV/ZIyDWjcE15NGYKxegH bFks95jonnOB5Ox/QG7qQhx/l7gxe8gbYuBnHOi35lKWIbVY4/GKns5PlsdfthKl9xK+xMermQY Fb42GLQB12wSrv9gFzZ0IRWz1ysn+IY/AoAD4NXPPew2cEIG7NILIyecx4Kfw7SpGBTchc5Vr59 UIlr X-Received: by 2002:a05:6871:3a2b:b0:3ff:4b26:c40f with SMTP id 586e51a60fabf-40a96c41f36mr5773937fac.4.1770618176328; Sun, 08 Feb 2026 22:22:56 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a8a:294:0:b0:61e:2744:d741 with HTTP; Sun, 8 Feb 2026 22:22:55 -0800 (PST) In-Reply-To: References: From: "David G. Johnston" Date: Sun, 8 Feb 2026 22:22:55 -0800 X-Gm-Features: AZwV_Qgv-wcjahjs-ToQbX5TYX46QvrTawfT-nRDylhXCGZjPHm52MSAQCrvN3A Message-ID: Subject: Re: Skipping schema changes in publication To: Amit Kapila Cc: Peter Smith , shveta malik , Shlok Kyal , vignesh C , Dilip Kumar , "Zhijie Hou (Fujitsu)" , YeXiu <1518981153@qq.com>, Ian Lawrence Barwick , Bharath Rupireddy , PostgreSQL Hackers Content-Type: multipart/alternative; boundary="0000000000006ed631064a5e2b02" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000006ed631064a5e2b02 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sunday, February 8, 2026, Amit Kapila wrote: > On Mon, Feb 9, 2026 at 6:41=E2=80=AFAM Peter Smith wrote: > > > Hi Amit. > > > > I understand there can be some tricky scenarios where partitions are > > involved, but I was not sure why "pub1: FOR ALL Tables EXCEPT (tab1) > > and pub2: FOR TABLE tab1" is an example of contradictory behaviour. > > > > Consider if the publisher has 3 tables tab1,tab2,tab3: > > Here, "pub1: FOR ALL Tables EXCEPT (tab1)" is like a shorthand for > > saying "pub1: FOR TABLE tab2,tab3" > > So what's wrong for the subscriber to combine pub1 and pub2 in this cas= e? > > > > It is because one of the publications (pub2) indicates to include a > particular table tab1 and the other one (pub1) to exclude the same > table. And things become much more complex when the Except list > contains partitions as shown in Shveta's example. So, I think it makes > sense to keep things simple at least for the first version, we can > consider to uplift this restriction if we see some use cases from the > field. > > > I=E2=80=99m with Peter here - I do not think it is wise to expose the excep= tion listing outside the publication. Publication combinations should be purely additive in much the same way grants are in the system. Except lists are internal shorthand for describing the positive list of tables a publication makes available - all tables except. David J. --0000000000006ed631064a5e2b02 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sunday, February 8, 2026, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Mon, Feb 9, 2026 at 6:41=E2=80=AFAM Peter Smith <smithpb2250@gmail.com> wrote:
<= br> > Hi Amit.
>
> I understand there can be some tricky scenarios where partitions are > involved, but I was not sure why "pub1: FOR ALL Tables EXCEPT (ta= b1)
> and pub2: FOR TABLE tab1" is an example of contradictory behaviou= r.
>
> Consider if the publisher has 3 tables tab1,tab2,tab3:
> Here, "pub1: FOR ALL Tables EXCEPT (tab1)" is like a shortha= nd for
> saying "pub1: FOR TABLE tab2,tab3"
> So what's wrong for the subscriber to combine pub1 and pub2 in thi= s case?
>

It is because one of the publications (pub2) indicates to include a
particular table tab1 and the other one (pub1) to exclude the same
table. And things become much more complex when the Except list
contains partitions as shown in Shveta's example. So, I think it makes<= br> sense to keep things simple at least for the first version, we can
consider to uplift this restriction if we see some use cases from the
field.



I=E2=80=99m with Peter here - I do= not think it is wise to expose the exception listing outside the publicati= on.=C2=A0 Publication combinations should be purely additive in much the sa= me way grants are in the system.=C2=A0 Except lists are internal shorthand = for describing the positive list of tables a publication makes available - = all tables except.

David J.


--0000000000006ed631064a5e2b02--