Re: tablecmds: reject CLUSTER ON for partitioned tables earlier

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Chao Li <li.evan.chao@gmail.com>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-03-17T05:36:48Z
Lists: pgsql-hackers
On Tue, Mar 17, 2026 at 09:12:13AM +0800, Chao Li wrote:
> Anyway, I added the asserts in ATExecAddInherit() and
> ATExecDropInherit() in v9. If you have a second thought, I can tune
> it further.

I have removed the assertions at the end, after looking at the
surroundings for hints.

> PFA v9:
> * 0001 - added a NO INHERIT test case in typed_table.sql
> * 0002 - added asserts in ATExecAddInherit and ATExecDropInherit.

The comments rmeoved from ATPrepAddInherit() were still not at the
correct location.  CreateInheritance() is the routine in charge of the
column and constraint checks.
--
Michael

Commits

  1. Refactor some code around ALTER TABLE [NO] INHERIT

  2. Add regression test for ALTER TABLE .. NO INHERIT on typed tables

  3. Reject ALTER TABLE .. CLUSTER earlier for partitioned tables

  4. Ignore partitioned indexes where appropriate