From f56a01ebdbd591ddd1428672e53a7c9bc4a5d99d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Herrera?= Date: Thu, 7 Nov 2024 14:06:24 +0100 Subject: [PATCH] doc: Reword ALTER TABLE ATTACH restriction on NO INHERIT constraints The previous wording is easy to read incorrectly; this change makes it simpler, less ambiguous, and less prominent. Backpatch to all live branches. Reviewed-by: Amit Langote Discussion: https://postgr.es/m/202411051201.zody6mld7vkw@alvherre.pgsql --- doc/src/sgml/ref/alter_table.sgml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml index 36770c012a..61a0fb3dec 100644 --- a/doc/src/sgml/ref/alter_table.sgml +++ b/doc/src/sgml/ref/alter_table.sgml @@ -1016,20 +1016,18 @@ WITH ( MODULUS numeric_literal, REM A partition using FOR VALUES uses same syntax for partition_bound_spec as - CREATE TABLE. The partition bound specification + CREATE TABLE. + The partition bound specification must correspond to the partitioning strategy and partition key of the target table. The table to be attached must have all the same columns as the target table and no more; moreover, the column types must also match. Also, it must have all the NOT NULL and - CHECK constraints of the target table. Currently + CHECK constraints of the target table, not marked + NO INHERIT. Currently FOREIGN KEY constraints are not considered. UNIQUE and PRIMARY KEY constraints from the parent table will be created in the partition, if they don't already exist. - If any of the CHECK constraints of the table being - attached are marked NO INHERIT, the command will fail; - such constraints must be recreated without the - NO INHERIT clause.