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.94.2) (envelope-from ) id 1uBlEE-0065au-GW for pgsql-hackers@arkaria.postgresql.org; Mon, 05 May 2025 02:06:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1uBlED-001bTM-Bu for pgsql-hackers@arkaria.postgresql.org; Mon, 05 May 2025 02:06:45 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uBlEC-001bTE-PJ for pgsql-hackers@lists.postgresql.org; Mon, 05 May 2025 02:06:44 +0000 Received: from momjian.us ([72.94.173.45]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1uBlE7-000BfS-0P for pgsql-hackers@lists.postgresql.org; Mon, 05 May 2025 02:06:43 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=momjian.us; s=2025010100; h=In-Reply-To:Content-Transfer-Encoding:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-ID:Content-Description; bh=1iHbSrkzpepBY5xyDb7HEtSgHmFuGKSpXu0FGudHlUo=; b=ZHp5YHZMjj8s4fg12ZgxX/vY8Z 0wrJsq59C5W4B9n9bf0/9mYe1jKQmXhTuF7pvkcReAg2ukpXjJB96HCmbmy9dUDPXnnpT2wY1MuRg HNBkRFm75mF+EsyeGSI2YVwAbENqRmTFvtzHyNOnGPGW2aEcKDTJYdDcSTRD+16S7lBb0weFCK3mk J4gMOSYscVXBZALpcJ4mkCc22m1WCZjvKl3ihFpYiyFknD+mrJhK6oJuGTYQJiMlRoEKlIre6r25V DoiK8vtdacV5EbEZb4s9XOFXJmuWRVjJHYQrcLQq7eIiqShZVDyWpewo8T6yPsFTC7vU81en6Df0N ErMKdVTQ==; Received: from bruce by momjian.us with local (Exim 4.96) (envelope-from ) id 1uBlE6-00ARcm-2e; Sun, 04 May 2025 22:06:38 -0400 Date: Sun, 4 May 2025 22:06:38 -0400 From: Bruce Momjian To: =?utf-8?Q?=C3=81lvaro?= Herrera Cc: PostgreSQL-development Subject: Re: PG 18 release notes draft committed Message-ID: References: <202505041135.cpo7zgdcya2u@alvherre.pgsql> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="eJff37fn659Trdl1" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <202505041135.cpo7zgdcya2u@alvherre.pgsql> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --eJff37fn659Trdl1 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit On Sun, May 4, 2025 at 01:35:30PM +0200, Álvaro Herrera wrote: > Regarding these items > > * Allow ALTER TABLE to set the NOT VALID attribute of NOT NULL constraints > (Rushabh Lathia, Jian He) > > * Allow NOT VALID foreign key constraints on partitioned tables (Amul Sul) > > * Allow modification of the inheritability of constraints (Suraj Kharage, Álvaro Herrera) > > The syntax is ALTER TABLE ... ALTER CONSTRAINT ... [NO] INHERIT. > > * Store column NOT NULL specifications in pg_constraint (Álvaro Herrera, Bernd Helmle) > > This allows names to be specified for NOT NULL constraint. This also adds NOT > NULL constraints to foreign tables and NOT NULL inheritance control to local > tables. > > > I think the wording and order of them is a bit unclear. I would put the > last item first, immediately followed by the other two; alternatively we > could merge them all into a single one: I moved the last item to first in the group. > * Store NOT NULL constraints in pg_constraint for better preservability > (Álvaro, Bernd, Suraj, Rushabh, Jian) > > The constraint names are well defined and are preserved across > dump/restore. Also, the NOT VALID and NO INHERIT properties work > as expected and can be modified by users via ALTER TABLE. > > Or something along those lines. I think the merged text is too confusing. > This one in particular: > Allow modification of the inheritability of constraints (Suraj Kharage, Álvaro Herrera) > > The syntax is ALTER TABLE ... ALTER CONSTRAINT ... [NO] INHERIT. > > only works with not-null constraints, which is why I suggest to merge > together with the above item. Ideally, on the next release somebody > would work to make that feature more general (work with other types of > constraints). Yes, I see that detail in the docs of the first commit, and in the second commit text. I modified to say NOT NULL. > > I think this item > Allow CHECK and foreign key constraints to be specified as NOT ENFORCED > (Amul Sul) > > This also adds column pg_constraint.conenforced. > > should come second or maybe even first in that section, as it is I think > the most user-visible. I made it second. > These two items > Allow NOT VALID foreign key constraints on partitioned tables (Amul Sul) > > Allow dropping of constraints ONLY on partitioned tables (Álvaro Herrera) > > This was previously erroneously prohibited. > > can mostly be considered bug-fixes, so they should be last in the > section; they aren't new features, just making existing features work > correctly. The one I have second is I think of lesser importance. Agreed, moved as you suggested. I have trouble figuring out the importance sometimes, and this section is very large. Patch attached. -- Bruce Momjian https://momjian.us EDB https://enterprisedb.com Do not let urgent matters crowd out time for investment in the future. --eJff37fn659Trdl1 Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="master.diff" Content-Transfer-Encoding: 8bit diff --git a/doc/src/sgml/release-18.sgml b/doc/src/sgml/release-18.sgml index bd2b2ed6315..764c929823f 100644 --- a/doc/src/sgml/release-18.sgml +++ b/doc/src/sgml/release-18.sgml @@ -1530,23 +1530,6 @@ This is specified by WITHOUT OVERLAPS on the last column. - - - - - -Require primary/foreign key relationships to use either deterministic collations or the the same nondeterministic collations (Peter Eisentraut) -§ - - - -The restore of a pg_dump, also used by pg_upgrade, will fail if these requirements are not met; schema changes must be made for these upgrade methods to succeed. - - - -Allow ALTER TABLE to set the NOT VALID attribute of NOT NULL constraints (Rushabh Lathia, Jian He) -§ +Require primary/foreign key relationships to use either deterministic collations or the the same nondeterministic collations (Peter Eisentraut) +§ + + + +The restore of a pg_dump, also used by pg_upgrade, will fail if these requirements are not met; schema changes must be made for these upgrade methods to succeed. -Allow NOT VALID foreign key constraints on partitioned tables (Amul Sul) -§ +Store column NOT NULL specifications in pg_constraint (Álvaro Herrera, Bernd Helmle) +§ + + + +This allows names to be specified for NOT NULL constraint. This also adds NOT NULL constraints to foreign tables and NOT NULL inheritance control to local tables. -Allow dropping of constraints ONLY on partitioned tables (Álvaro Herrera) -§ - - - -This was previously erroneously prohibited. +Allow ALTER TABLE to set the NOT VALID attribute of NOT NULL constraints (Rushabh Lathia, Jian He) +§ @@ -1615,7 +1602,7 @@ Author: Álvaro Herrera -Allow modification of the inheritability of constraints (Suraj Kharage, Álvaro Herrera) +Allow modification of the inheritability of NOT NULL constraints (Suraj Kharage, Álvaro Herrera) § § @@ -1627,17 +1614,29 @@ The syntax is ALTER TABLE ... ALTER CONSTRAINT ... [NO] INHERIT. -Store column NOT NULL specifications in pg_constraint (Álvaro Herrera, Bernd Helmle) -§ +Allow NOT VALID foreign key constraints on partitioned tables (Amul Sul) +§ + + + + -This allows names to be specified for NOT NULL constraint. This also adds NOT NULL constraints to foreign tables and NOT NULL inheritance control to local tables. +Allow dropping of constraints ONLY on partitioned tables (Álvaro Herrera) +§ + + + +This was previously erroneously prohibited. --eJff37fn659Trdl1--