Re: Add SPLIT PARTITION/MERGE PARTITIONS commands

Alexander Korotkov <aekorotkov@gmail.com>

From: Alexander Korotkov <aekorotkov@gmail.com>
To: jian he <jian.universality@gmail.com>
Cc: Kirill Reshke <reshkekirill@gmail.com>, zengman <zengman@halodbtech.com>, pgsql-hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-12-20T11:26:59Z
Lists: pgsql-hackers
On Sat, Dec 20, 2025 at 1:15 PM jian he <jian.universality@gmail.com> wrote:
> On Sat, Dec 20, 2025 at 6:42 PM Alexander Korotkov <aekorotkov@gmail.com> wrote:
> >
> > Hi Kirill!
>
> > > reshke=# alter table only z merge partitions (z_1,z_2) into z_12;
> > > ALTER TABLE
> > > reshke=#
> > >
> > > ```
> > >
> > > IMO "alter table only ... merge partitions" does not make perfect
> > > sense and should be rejected rather than executed. WDYT?
> >
> > Could you, please, clarify your point? I didn't quite get it.  It
> > looks like pretty basic example of merging two adjacent partitions.
> >
>
> > reshke=# alter table only z merge partitions (z_1,z_2) into z_12;
> I think it should fail, because we are not applying to table "z" itself,
> For Split/Merge partitions, we are processing the whole partitioned
> table z hierarchy.
>
> alter table z merge partitions (z_1,z_2) into z_12;
> should work.
>
> I guess the attached maybe is what Krill wants.

Thank you.  I missed there is an ONLY keyword.  But I'm not sure about
the error message.  I don't think the problem with ONLY keyword is
that MERGE/SPLIT must be always recursive.  I think opposite, it's
always non-recursive and this is why ONLY is meaningless.  Otherwise,
we may decide to just leave it as it allowing ONLY.

------
Regards,
Alexander Korotkov
Supabase