> On Jan 26, 2026, at 12:36, David G. Johnston <[email protected]>
> wrote:
>
> On Sunday, January 25, 2026, Chao Li <[email protected]> wrote:
>
> > <para>
> > When applied to a partitioned table, partition columns and constraints
> > are implicitly renamed.
> > Specifying <literal>ONLY</literal> is not allowed, and this command
> > cannot be used on individual partitions.
> > </para>
>
> But for "Specifying <literal>ONLY</literal> is not allowed, and this command,
> cannot be used on individual partitions.”, that doesn’t seem correct. See my
> test:
> ```
> evantest=# create table root (i int, j int) partition by list(i);
> CREATE TABLE
> evantest=# create table p1 partition of root for values in (1);
> CREATE TABLE
> evantest=# alter table p1 rename to pp1; <== Rename a partition is allowed.
> ALTER TABLE
> evantest=# alter table only pp1 rename to p1; <== ONLY can be used, but just
> no effect
> ALTER TABLE
> ```
>
> I was mentally restricting the second sentence about ONLY to the column and
> constraints renaming action, which are called out by the first sentence. It
> makes little sense to talk about renaming the table, parent or child, here in
> the context of ONLY. It goes without mention that table renaming never
> cascades. Only is implied for that action, even if only should just be
> considered valid on a parent in any case.
>
> But I’d accept a sentence like: “Table renames always only apply to the named
> table.” Added to that paragraph; it’s a convoluted command.
>
> David J.
>
How about this:
```
<para>
When applied to a partitioned table to rename columns or constraints,
the corresponding partition columns and constraints are renamed
implicitly. <literal>ONLY</literal> is not allowed, and the command
cannot be used on individual partitions. When the rename target is the
table name, only the named table is renamed.
</para>
```
Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/