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 1vf7x0-004PN1-1M for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Jan 2026 02:46:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vf7wz-00Co51-1E for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Jan 2026 02:46:38 +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 1vf7wz-00Co4t-0A for pgsql-hackers@lists.postgresql.org; Mon, 12 Jan 2026 02:46:37 +0000 Received: from mail-dy1-x1330.google.com ([2607:f8b0:4864:20::1330]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vf7wx-0065va-1H for pgsql-hackers@lists.postgresql.org; Mon, 12 Jan 2026 02:46:37 +0000 Received: by mail-dy1-x1330.google.com with SMTP id 5a478bee46e88-2b053ec7d90so5128670eec.0 for ; Sun, 11 Jan 2026 18:46:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768185992; x=1768790792; darn=lists.postgresql.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=oJjxH7PaXuOagg1mY5HsqAw3aM4RUWJgfLcABEjLqec=; b=lTfYkTJx5+6TKLH0a/RSbHilzLi03H/pgUcU6IQuZw6nLoBSsq7AugIheuc1rm6UCS kFjPiPT1LFxufa+0QSc3n4VIIrSQxzeSVZO8y0sfapjV7uBDzF+gE+Wv0WPr6JwZHQ0t fOGOSciDOwh5bd/O++/YBUWkns03Lq+6dqFHdmLGsHZjXmobkE3Yvwch4UtYfqGzrkI0 poQcZW7ed5CUqvdSJQ8N9B5Zm9KN1px2uQXDLZ755vcioJvrlcr6Uz8+0nn6CR+s7UcB bis7MrHm77dZ8ff25zWWKii1RmIlXq4/kfrlzhCucSUDt7WVhWsB/yuWxs2z1pGkBjkm Bfbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768185992; x=1768790792; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=oJjxH7PaXuOagg1mY5HsqAw3aM4RUWJgfLcABEjLqec=; b=PGvMzDVcKfGAtJdUvDQjH62yIi7HpiaZ9tJ5WvZG1AJu4whlanmKfusnFeRaRmYxVY pl9ocIsUhR0PVfAiKWkm4nBM1IqZ5OxJYaZHAUBtFWeMrX2DSDEBeLvhXGLO430/AtDy Bm2AfAsiWfr6ckk2UF6UzRssGp0K3VO3BPRGcCRp9wvyKFTT4n2wWqAFm48A28CuUwLF fx8IGuT4UxP+sl2ZMFEjOzs/KzlTOJy6JTJFlTt2oA3fSLpfEJb5ZEJbyM36HQlpuZ4e OR9A5WCPOYU7yfi44BAf4a4jqQeDDkuhRSPBOwfF2XcUsUa9955FZL6GIyvR/OfFRSqh ZoPg== X-Gm-Message-State: AOJu0YzOexiFukiIeJ/al/i1+VZ+SzHVCIOV6roeodgyPvypTUf7geqE 1kAZGHg1RljR/3wJ/Uf6c/y+YokrIMdaHVHfp4Otw+Zpo3uQivK7Q13ULJ2DvcOarPo= X-Gm-Gg: AY/fxX6Rve4+rUO6Q2JXHJDmsgWPTSIFJBbrJEo9wTlZIQdcJZUdiGr5Uj89UhCAfNJ 70mfMjYbky7byhSE0gHq5LVUhcdO5vQgtpJJDV6hXsjvDiCQxVtQOn7X1L1JZWphJu/DsiPm/c1 VrsqLfBEAj+jzkHjU5fMfml5TS2UnPzeb3HDXcOALXZmQ1Q/zRmVWgJoQZ7n0n5FU5thE8SwjyE j/kCKYvqVeFz/Pxen1c50dxXpxoCx2d6s+nWkfbUyCAKrzKR9hC52BZNzWEjj9GJbmLnE0vbRDj LY0tkDHZDyVFmjEp3doMJqQsccGqf6Tvthu/3RPzb96d7bZcRrzYKL3linH4mazVtzc+TgwfzWK 4bB3fF8zoprnl3rkx1hPQLmKpPtYUEXhusy3+Pv4Dplcvpn0cIrND0Dqrfp60R808jACCsNDP/T Na4KiaI9CYB2fgrw/4S6KJyXmz0OIe5dE= X-Google-Smtp-Source: AGHT+IFMTunD4k693bwlxeJNeTEk/bUoxk9gddjGSUoHL4EKgCcmoFHiUzkLtOXaBeBZthdwlP+ouA== X-Received: by 2002:a05:7300:bc8e:b0:2b1:7486:3a06 with SMTP id 5a478bee46e88-2b17d21e6demr15869533eec.18.1768185991795; Sun, 11 Jan 2026 18:46:31 -0800 (PST) Received: from smtpclient.apple ([142.171.105.12]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2b1707da231sm16688500eec.34.2026.01.11.18.46.28 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 11 Jan 2026 18:46:30 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.700.81.1.4\)) Subject: Re: docs: clarify ALTER TABLE behavior on partitioned tables From: Chao Li In-Reply-To: Date: Mon, 12 Jan 2026 10:45:55 +0800 Cc: Postgres hackers , Amit Kapila Content-Transfer-Encoding: quoted-printable Message-Id: References: <90F9169D-135C-45E5-8221-4F79DAED98E2@gmail.com> To: "David G. Johnston" X-Mailer: Apple Mail (2.3826.700.81.1.4) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > On Jan 10, 2026, at 00:12, David G. Johnston = wrote: >=20 > On Fri, Jan 9, 2026 at 1:11=E2=80=AFAM Chao Li = wrote: > >=20 > > The main points of interest: > >=20 > > Saying that "ONLY" is a no-op when the observed behavior is that = only the mentioned tables are affected seems wrong. I've removed those = instances. >=20 > Maybe the original phrasing =E2=80=9Chas no effect=E2=80=9D wasn=E2=80=99= t clear for what I meant. What I was trying to express is that ONLY is = intended to control whether an action propagates to child tables: with = ONLY it should not propagate, and without ONLY it should. >=20 > For these particular sub-commands, however, the observed behavior is = that they behave the same with or without ONLY. =46rom a documentation = perspective, stating that explicitly could help avoid user confusion. >=20 > Separately, I do have a plan to tighten this behavior in the future: = for these commands, specifying ONLY would raise an error instead. If = such a change is merged later, the documentation note could naturally be = removed at that point. >=20 > So I=E2=80=99d like to keep the statement for now, but I=E2=80=99m = very happy to adjust the wording if you have a clearer phrasing to = suggest. >=20 > I've removed some I missed and tweaked others. I'm OK with leaving = mention of ONLY in these sections but what happens is that ONLY becomes = implicitly added to the command, which is what I'd rather communicate. = The remaining wording is a bit redundant now but flows nicely. Changing the phrase =E2=80=9Chas no effect=E2=80=9D to =E2=80=9Cimplicitly= =E2=80=9D looks good to me. ONLY is implicit on the following = sub-commands: * SET/RESET (attribute_option =3D value) * ENABLE/DISABLE [ REPLICA | ALWAYS] RULE * ENABLE/DISABLE ROW LEVEL SECURITY * NO FORCE / FORCE ROW LEVEL SECURITY * OWNER TO * REPLICA IDENTITY * SET SCHEMA * SET COMPRESSION * SET TABLESPACE * OF type * NOT OF * RENAME I saw you removed =E2=80=9CONLY=E2=80=9D statement from some of them and = changing =E2=80=9Chas no effect=E2=80=9D to =E2=80=9Cimplicit=E2=80=9D = on rests. So, I just want to confirm if you intentionally removed those = or just missed changing them? >=20 > Before I integrate your edits and prepare v3, I=E2=80=99d appreciate = hearing your thoughts on the points about ONLY and =E2=80=9Cnewly = created=E2=80=9D. >=20 >=20 > As I continue to think about the "newly created" material the more I = believe it is misplaced. That there is existing wording to that effect = doesn't change my conclusion. I would add no additional text here even = if you don't want to remove the existing mentions at this point. But I = think the scope of this patch should be increased to fix this = misplacement as well. Since moving content - refactoring - is what is = happening here. In the attached 0003 I've removed the paragraphs that = this patch now makes redundant within the alter table documentation. I = wouldn't mind if they got moved to somewhere in Chapter 5.12 (Table = Partitioning) and not just erased, along with ensuring that 5.12 = includes how table creation definition inheritance works and removing = those mentions from the alter table docs as well. A new partition automatically inheriting the parent=E2=80=99s setting is = an expected behavior, and most of sub-commands meet the expectation. So = I=E2=80=99m fine to remove the =E2=80=9Cnewly created=E2=80=9D material = from these =E2=80=9Cgood" sub-commands. Only a few sub-commands break the expectation, they are: * SET STATISTICS * SET/RESET (attribute_option =3D value) * ENABLE/DISABLE [ REPLICA | ALWAYS] RULE * ENABLE/DISABLE ROW LEVEL SECURITY * NO FORCE / FORCE ROW LEVEL SECURITY * OWNER TO * REPLICA IDENTITY * SET SCHEMA The current behavior (not inherit) is questionable, we will need = separate discussions for each of them to clarify if that=E2=80=99s = intended or =E2=80=9Cbugs=E2=80=9D. So, how about only retain the = =E2=80=9Cnewly created=E2=80=9D material for these sub-commands and = remove from the rests? In this case, I don=E2=80=99t think we need to = update 5.12. =20 What I am thinking is that, we will eventually remove the =E2=80=9Cnewly = created=E2=80=9D material from these sub-commands, because next step we = are going to fix the behavior on them one by one. Maybe some of them are = designed to not =E2=80=9Cinherit the parent=E2=80=99s setting=E2=80=9D, = then we can add a paragraph/section to 5.12 to describe that. >=20 > I'm not sure whether I'd fully remove all that content since some of = it does pertain just to table inheritance. That feature seems like = something best related to notes and not brought into the main flow like = you are doing with partitioned tables. >=20 > David J. >=20 >=20 > = -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/