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 1vfVcc-002PBX-2o for pgsql-hackers@arkaria.postgresql.org; Tue, 13 Jan 2026 04:03:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vfVcc-002f68-0F for pgsql-hackers@arkaria.postgresql.org; Tue, 13 Jan 2026 04:03:10 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vfVcb-002f60-2Q for pgsql-hackers@lists.postgresql.org; Tue, 13 Jan 2026 04:03:10 +0000 Received: from mail-lf1-x12a.google.com ([2a00:1450:4864:20::12a]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vfVcZ-0009Hv-2O for pgsql-hackers@lists.postgresql.org; Tue, 13 Jan 2026 04:03:09 +0000 Received: by mail-lf1-x12a.google.com with SMTP id 2adb3069b0e04-59b710d46ceso6079750e87.3 for ; Mon, 12 Jan 2026 20:03:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768276986; x=1768881786; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=nOeDKIjRq+gKwxumIFykSRVmOj+g1X4rlJx+TfbKsj4=; b=GK4W6pbN7++nOytkABz0+g4aCQ4r683EtorDjl1mM7q2+Al/gninRck4Z0Aci9rcjY cn2/CabbMQkrFs403ao/+6wdojaYZTCvqnyak9300OZHHpHxCiHxUgNayYYEQyuJ6G0I rN+sFJCC/jb5I+QyyB0BOMW7Iz6ePWi5b9uaxvJpxzobZaAk9fvIgwdWUxObJNXYq2Mm bms/8pATaFAkgb1ulPHLSA1o4RVcJ1vJeblz33ZHGwoLGBhUkMphBTgibBMaL0ivexcp YfAIHCSEZj36eHhHsYsTQSG8NfsZCPvqEOjvStRThfCkdG0stfObkHuC3s0yCWDVYeOf 7wEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768276986; x=1768881786; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=nOeDKIjRq+gKwxumIFykSRVmOj+g1X4rlJx+TfbKsj4=; b=j4ZNpl7uqFK5UTG0auczPqagHKjx9hJXHJy5pv+ztJtEEO/ycnO6BKsPTq61ftYzAN hTNNvoT4X0hQnWi7j5aGnIWr/9ZMpoO29tTlhLYL+WQuTPBgy707U9snLFvovWzukYRQ Fx1lhrTdwuejNolspdrL+29Hr7g1eLqw3k6lSuJX8vEWRTJshSijQwMkIp0jBVNqANZn 6YXL4ooqUt/UN9eMcFa2MjcRr4TzUE/YQelQRKmN/nMIUiQIAtHpd1+AAgi0Fwm/CFRU VNDzvRB+ZEbdmrsP3CTBHibLWjU6Wl3XztII7ZlK//L5lmpG+lhdmGDiCxQ0Bt8rlaSU z1GA== X-Forwarded-Encrypted: i=1; AJvYcCUbhk2lcHkC7ZJbFV/G2z7GrYxd5dyMP5S4hY1nf4Sul6Yf/5VUpv0lBRu//O3zzTptpBR7sPodoy5Zruue@lists.postgresql.org X-Gm-Message-State: AOJu0YxE108VKLyziYRD8WhuSUgQ9VvFO3ivKlIqeJ7XFd+M102D873S 4iU2Q880wZt+KUPKr27CdcMTEnRrb39yuTTnXnrORt+RWGKerjcZfNUorOeJIIOcBBCFNqYx4ob 8ffEIaLUpTpdbwBTddgWPeNIMNRPLk6U= X-Gm-Gg: AY/fxX4xx+oG2OSgRtsNZEi7vYmnae95P+yLzWZK8111CuQPFMlKidcLOMTLXTLKFtg fSRdV5uoZQ8pKgVg/OdEjWGDRLHE5jAZyRPaDgH7PWaRhdUikLFNcrRVWW5A3VpWRKIUxHXlgoW DBwgYYhtTvmlaNEpMg92BhZ3XNa7RkfyjxPgZve2djtHiVybBx4SvsknUe/rDYRhJgNSuY+bxBt hcuzpn/9zGGcIRrnIR69XtexZ4+iVqNvSNvVuKZka4teN6w1BxXQmUqkskwViVPocMxzlCT X-Google-Smtp-Source: AGHT+IG7BkZwT3ePoJGontmr8A7ahdsCKpkQiXeZcTYdVDirwOnslccYe/Mv+8qY30wIsPayXCDgjc7anC68xY9jYI4= X-Received: by 2002:a05:6512:1320:b0:59b:7c28:e347 with SMTP id 2adb3069b0e04-59b7c28e3d8mr5078648e87.49.1768276986279; Mon, 12 Jan 2026 20:03:06 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Chao Li Date: Tue, 13 Jan 2026 12:02:54 +0800 X-Gm-Features: AZwV_QjxcSr6HXWjH_C9VNA15MCJWDOYYUv_NQPE35QVvAKalDA6j22w059unns Message-ID: Subject: Re: ALTER TABLE: warn when actions do not recurse to partitions To: "David G. Johnston" Cc: Greg Sabino Mullane , Postgres hackers Content-Type: multipart/mixed; boundary="000000000000a1d5cd06483d11c3" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000a1d5cd06483d11c3 Content-Type: multipart/alternative; boundary="000000000000a1d5ca06483d11c1" --000000000000a1d5ca06483d11c1 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Jan 13, 2026 at 11:42=E2=80=AFAM David G. Johnston < david.g.johnston@gmail.com> wrote: > On Monday, January 12, 2026, Chao Li wrote: > >> >> Now, the message is like: >> ``` >> evantest=3D# alter table sensor_data replica identity full; >> NOTICE: REPLICA IDENTITY does not apply to partitions (1 affected) >> ALTER TABLE >> > > > If it doesn't recurse there should be no count. It would either always b= e > 1, so not helpful, or if did show a partition count, beside the point. I= n > the later case suppress the message if there are no partitions present. > The count was real. I agree that we can suppress the message when there are no partitions. Addressed that in v3. > > The statement =E2=80=9Cdoes not apply to partitions=E2=80=9D is also fact= ually wrong. One > would just need to name the partition explicitly. > > NOTICE: present partitions not affected > HINT: partitions may be modified individually using separate commands > ALTER TABLE > Thanks for the suggestion, I took that in v3. PSA v3: * Rephrased the notice message as David's suggestion. * Removed partition count from notice message. * If a partitioned table doesn't have any partition, then suppress the message. Now the command outputs look like: ``` evantest=3D# alter table sensor_data replica identity full; NOTICE: present partitions not affected HINT: partitions may be modified individually using separate commands ALTER TABLE ``` Best regards, -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/ --000000000000a1d5ca06483d11c1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On T= ue, Jan 13, 2026 at 11:42=E2=80=AFAM David G. Johnston <david.g.johnston@gmail.com> wrote:
=
On Monday, January = 12, 2026, Chao Li <li.evan.chao@gmail.com> wrote:

Now, the message is like:
```
evantest=3D#= alter table sensor_data replica identity full;
NOTICE: =C2=A0REP= LICA IDENTITY does not apply to partitions (1 affected)
ALTER TAB= LE


=
If it doesn't recurse there should be no count.=C2=A0 It would eit= her always be 1, so not helpful, or if did show a partition count, beside t= he point.=C2=A0 In the later case suppress the message if there are no part= itions present.

The count was real. I= agree that we can suppress the message when there are no partitions. Addre= ssed that in v3.
=C2=A0

The statement =E2=80=9Cdoes not apply to = partitions=E2=80=9D is also factually wrong.=C2=A0 One would just need to n= ame the partition explicitly.

NOTICE: present part= itions not affected
HINT: partitions may be modified individually= using separate commands
ALTER TABLE

<= /div>
Thanks for the suggestion, I took that in v3.

PSA v3:

* Rephrased the notice message as Da= vid's suggestion.
* Removed partition count from notice messa= ge.
* If a partitioned table doesn't have any partition, then= suppress the message.

Now the command outputs loo= k like:
```
evantest=3D# alter table sensor_data replica identity ful= l;
NOTICE: =C2=A0present partitions not affected
HINT: =C2=A0partitio= ns may be modified individually using separate commands
ALTER TABLE
`= ``

Best regards,
--
Chao Li (Evan)<= div>HighGo Software Co., Ltd.
--000000000000a1d5ca06483d11c1-- --000000000000a1d5cd06483d11c3 Content-Type: application/octet-stream; name="v3-0001-Add-notice-when-ALTER-TABLE-REPLICA-IDENTITY-does.patch" Content-Disposition: attachment; filename="v3-0001-Add-notice-when-ALTER-TABLE-REPLICA-IDENTITY-does.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mkc2etnv0 RnJvbSA2ZGQ1Y2I1ZmYwNzhlMDM5NDRmMTgwYmFjNTdlOTQzMmU4ODA3MDBlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQ2hhbyBMaSAoRXZhbikiIDxsaWNAaGlnaGdvLmNvbT4KRGF0 ZTogTW9uLCAxMiBKYW4gMjAyNiAxNjo1Njo1OCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjNdIEFk ZCBub3RpY2Ugd2hlbiBBTFRFUiBUQUJMRSBSRVBMSUNBIElERU5USVRZIGRvZXMgbm90CiByZWN1 cnNlCgpBTFRFUiBUQUJMRSAuLi4gUkVQTElDQSBJREVOVElUWSBhY2NlcHRzIGEgcmVjdXJzaXZl IGZvcm0gb24KcGFydGl0aW9uZWQgdGFibGVzLCBidXQgdGhlIGNoYW5nZSBpcyBhcHBsaWVkIG9u bHkgdG8gdGhlIHBhcnRpdGlvbmVkCnRhYmxlIGl0c2VsZiBhbmQgZG9lcyBub3QgcHJvcGFnYXRl IHRvIGNoaWxkIHBhcnRpdGlvbnMuCgpQcmV2aW91c2x5IHRoaXMgY2FzZSB3YXMgc2lsZW50bHkg YWNjZXB0ZWQsIHdoaWNoIGNvdWxkIG1pc2xlYWQgdXNlcnMKaW50byBhc3N1bWluZyB0aGF0IHRo ZSBzZXR0aW5nIHdvdWxkIHJlY3Vyc2UuIEFkZCBhIG5vdGljZSB3aGVuCnJlY3Vyc2lvbiBpcyBy ZXF1ZXN0ZWQgb24gYSBwYXJ0aXRpb25lZCB0YWJsZSB0byBtYWtlIHRoZSBiZWhhdmlvcgpleHBs aWNpdCBhbmQgYXZvaWQgY29uZnVzaW9uLgoKVGhpcyBjaGFuZ2UgZG9lcyBub3QgYWx0ZXIgc2Vt YW50aWNzOyBpdCBvbmx5IHByb3ZpZGVzIHVzZXItdmlzaWJsZQpmZWVkYmFjay4gU2ltaWxhciBu b3RpY2VzIG1heSBiZSBhZGRlZCBmb3Igb3RoZXIgQUxURVIgVEFCTEUKc3ViLWNvbW1hbmRzIHdp dGggbm9uLXJlY3Vyc2l2ZSBiZWhhdmlvciBpbiBmb2xsb3ctdXAgY29tbWl0cy4KCkF1dGhvcjog Q2hhbyBMaSA8bGljQGhpZ2hnby5jb20+ClJldmlld2VkLWJ5OiBEYXZpZCBHLiBKb2huc3RvbiA8 ZGF2aWQuZy5qb2huc3RvbkBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBHcmVnIFNhYmlubyBNdWxs YW5lIDxodGFtZmlkc0BnbWFpbC5jb20+CkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20v Q0FFb1d4Mj1TTGdhLXhIMDlDcV9QQXZzSGhRSHJCSytWMHZGODIxSktnelM9Qm0waGFBQG1haWwu Z21haWwuY29tCi0tLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMgfCAzMyArKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlv bnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMv dGFibGVjbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwppbmRleCBmOTc2 YzBlNWM3ZS4uMzFhZTBiOWU4MjcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Rh YmxlY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC02OTMs NyArNjkzLDcgQEAgc3RhdGljIHZvaWQgZHJvcF9wYXJlbnRfZGVwZW5kZW5jeShPaWQgcmVsaWQs IE9pZCByZWZjbGFzc2lkLCBPaWQgcmVmb2JqaWQsCiAJCQkJCQkJCSAgIERlcGVuZGVuY3lUeXBl IGRlcHR5cGUpOwogc3RhdGljIE9iamVjdEFkZHJlc3MgQVRFeGVjQWRkT2YoUmVsYXRpb24gcmVs LCBjb25zdCBUeXBlTmFtZSAqb2ZUeXBlbmFtZSwgTE9DS01PREUgbG9ja21vZGUpOwogc3RhdGlj IHZvaWQgQVRFeGVjRHJvcE9mKFJlbGF0aW9uIHJlbCwgTE9DS01PREUgbG9ja21vZGUpOwotc3Rh dGljIHZvaWQgQVRFeGVjUmVwbGljYUlkZW50aXR5KFJlbGF0aW9uIHJlbCwgUmVwbGljYUlkZW50 aXR5U3RtdCAqc3RtdCwgTE9DS01PREUgbG9ja21vZGUpOworc3RhdGljIHZvaWQgQVRFeGVjUmVw bGljYUlkZW50aXR5KFJlbGF0aW9uIHJlbCwgUmVwbGljYUlkZW50aXR5U3RtdCAqc3RtdCwgYm9v bCByZWN1cnNlLCBMT0NLTU9ERSBsb2NrbW9kZSk7CiBzdGF0aWMgdm9pZCBBVEV4ZWNHZW5lcmlj T3B0aW9ucyhSZWxhdGlvbiByZWwsIExpc3QgKm9wdGlvbnMpOwogc3RhdGljIHZvaWQgQVRFeGVj U2V0Um93U2VjdXJpdHkoUmVsYXRpb24gcmVsLCBib29sIHJscyk7CiBzdGF0aWMgdm9pZCBBVEV4 ZWNGb3JjZU5vRm9yY2VSb3dTZWN1cml0eShSZWxhdGlvbiByZWwsIGJvb2wgZm9yY2VfcmxzKTsK QEAgLTUyMjcsOCArNTIyNywxNSBAQCBBVFByZXBDbWQoTGlzdCAqKndxdWV1ZSwgUmVsYXRpb24g cmVsLCBBbHRlclRhYmxlQ21kICpjbWQsCiAJCQlBVFNpbXBsZVBlcm1pc3Npb25zKGNtZC0+c3Vi dHlwZSwgcmVsLAogCQkJCQkJCQlBVFRfVEFCTEUgfCBBVFRfUEFSVElUSU9ORURfVEFCTEUgfCBB VFRfTUFUVklFVyk7CiAJCQlwYXNzID0gQVRfUEFTU19NSVNDOwotCQkJLyogVGhpcyBjb21tYW5k IG5ldmVyIHJlY3Vyc2VzICovCi0JCQkvKiBObyBjb21tYW5kLXNwZWNpZmljIHByZXAgbmVlZGVk ICovCisKKwkJCS8qCisJCQkgKiBUaGlzIGNvbW1hbmQgbm93IGRvZXNuJ3QgcmVjdXJzZSwgYnV0 IHdlIHdhbnQgdG8gbm90aWZ5IHVzZXIgaWYKKwkJCSAqIHJlY3Vyc2UgaXMgc2V0CisJCQkgKgor CQkJICogTm8gY29tbWFuZC1zcGVjaWZpYyBwcmVwIG5lZWRlZAorCQkJICovCisJCQlpZiAocmVj dXJzZSkKKwkJCQljbWQtPnJlY3Vyc2UgPSB0cnVlOwogCQkJYnJlYWs7CiAJCWNhc2UgQVRfRW5h YmxlVHJpZzoJCS8qIEVOQUJMRSBUUklHR0VSIHZhcmlhbnRzICovCiAJCWNhc2UgQVRfRW5hYmxl QWx3YXlzVHJpZzoKQEAgLTU2NDMsNyArNTY1MCw4IEBAIEFURXhlY0NtZChMaXN0ICoqd3F1ZXVl LCBBbHRlcmVkVGFibGVJbmZvICp0YWIsCiAJCQlBVEV4ZWNEcm9wT2YocmVsLCBsb2NrbW9kZSk7 CiAJCQlicmVhazsKIAkJY2FzZSBBVF9SZXBsaWNhSWRlbnRpdHk6Ci0JCQlBVEV4ZWNSZXBsaWNh SWRlbnRpdHkocmVsLCAoUmVwbGljYUlkZW50aXR5U3RtdCAqKSBjbWQtPmRlZiwgbG9ja21vZGUp OworCQkJQVRFeGVjUmVwbGljYUlkZW50aXR5KHJlbCwgKFJlcGxpY2FJZGVudGl0eVN0bXQgKikg Y21kLT5kZWYsCisJCQkJCQkJCSAgY21kLT5yZWN1cnNlLCBsb2NrbW9kZSk7CiAJCQlicmVhazsK IAkJY2FzZSBBVF9FbmFibGVSb3dTZWN1cml0eToKIAkJCUFURXhlY1NldFJvd1NlY3VyaXR5KHJl bCwgdHJ1ZSk7CkBAIC0xODUxNSwxMiArMTg1MjMsMjcgQEAgcmVsYXRpb25fbWFya19yZXBsaWNh X2lkZW50aXR5KFJlbGF0aW9uIHJlbCwgY2hhciByaV90eXBlLCBPaWQgaW5kZXhPaWQsCiAgKiBB TFRFUiBUQUJMRSA8bmFtZT4gUkVQTElDQSBJREVOVElUWSAuLi4KICAqLwogc3RhdGljIHZvaWQK LUFURXhlY1JlcGxpY2FJZGVudGl0eShSZWxhdGlvbiByZWwsIFJlcGxpY2FJZGVudGl0eVN0bXQg KnN0bXQsIExPQ0tNT0RFIGxvY2ttb2RlKQorQVRFeGVjUmVwbGljYUlkZW50aXR5KFJlbGF0aW9u IHJlbCwgUmVwbGljYUlkZW50aXR5U3RtdCAqc3RtdCwgYm9vbCByZWN1cnNlLCBMT0NLTU9ERSBs b2NrbW9kZSkKIHsKIAlPaWQJCQlpbmRleE9pZDsKIAlSZWxhdGlvbglpbmRleFJlbDsKIAlpbnQJ CQlrZXk7CiAKKwlpZiAocmVjdXJzZSAmJiByZWwtPnJkX3JlbC0+cmVsa2luZCA9PSBSRUxLSU5E X1BBUlRJVElPTkVEX1RBQkxFKQorCXsKKwkJUGFydGl0aW9uRGVzYyBwZCA9IFJlbGF0aW9uR2V0 UGFydGl0aW9uRGVzYyhyZWwsIHRydWUpOworCQlpbnQJCQlucGFydHMgPSBwZC0+bnBhcnRzOwor CisJCS8qCisJCSAqIFRoZSByZWN1cnNlIGZsYWcgaXMgc2V0LCBidXQgdGhpcyBjb21tYW5kIGRv ZXMgbm90IGFjdHVhbGx5CisJCSAqIHJlY3Vyc2UuIEVtaXQgYSBOT1RJQ0UgdG8gbWFrZSB0aGlz IGJlaGF2aW9yIGV4cGxpY2l0IHRvIHRoZSB1c2VyLgorCQkgKi8KKwkJaWYgKG5wYXJ0cyA+IDAp CisJCQllcmVwb3J0KE5PVElDRSwKKwkJCQkJKGVycm1zZygicHJlc2VudCBwYXJ0aXRpb25zIG5v dCBhZmZlY3RlZCIpKSwKKwkJCQkJZXJyaGludCgicGFydGl0aW9ucyBtYXkgYmUgbW9kaWZpZWQg aW5kaXZpZHVhbGx5IHVzaW5nIHNlcGFyYXRlIGNvbW1hbmRzIikpOworCX0KKwogCWlmIChzdG10 LT5pZGVudGl0eV90eXBlID09IFJFUExJQ0FfSURFTlRJVFlfREVGQVVMVCkKIAl7CiAJCXJlbGF0 aW9uX21hcmtfcmVwbGljYV9pZGVudGl0eShyZWwsIHN0bXQtPmlkZW50aXR5X3R5cGUsIEludmFs aWRPaWQsIHRydWUpOwotLSAKMi4zOS41IChBcHBsZSBHaXQtMTU0KQoK --000000000000a1d5cd06483d11c3--