Re: ERROR: insufficient columns in the PRIMARY KEY constraint definition
Alvaro Herrera <alvherre@2ndquadrant.com>
From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: David Rowley <dgrowleyml@gmail.com>, Nagaraj Raj <nagaraj.sf@yahoo.com>, Pg Bugs <pgsql-bugs@postgresql.org>
Date: 2020-09-29T22:39:07Z
Lists: pgsql-bugs
On 2020-Sep-29, Tom Lane wrote: > Indeed. However, this complaint shows that the error message is not clear > enough. I propose changing it to > > ERROR: unique constraint on partitioned table must be a superset of the partitioning columns > > or perhaps > > ERROR: unique constraint on partitioned table must include all partitioning columns Either of those work for me. How common is the word "superset" in English? We don't seem seem to use it either in error messages, though it does occur in docs. > > There's mention in [1] section 5.10.2.3. "Unique constraints on > > partitioned tables must include all the partition key columns. This > > limitation exists because PostgreSQL can only enforce uniqueness in > > each partition individually.". That text likely should also mention > > PRIMARY KEY constraints. That probably should be changed > > Meh. If you've read that bit you probably already understand that > pkeys are unique constraints. I think the problem is with the error > text not the docs. Maybe mention PKs in parens: "Unique constraints (and[, by extension,] primary key constraints) on partitioned tables must include all the partition key columns. This limitation exists because PostgreSQL can only enforce uniqueness in each partition individually.". That text likely should also mention PRIMARY KEY constraints. That probably should be changed -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Reword partitioning error message
- f669ba7bdb00 12.5 landed
- 9fc212271289 14.0 landed
- 5b76e8fb675e 11.10 landed
- 49433744ff65 13.1 landed
-
Doc: Improve clarity on partitioned table limitations
- ab0c9c073563 11.10 landed
- 5c7afb4a29aa 12.5 landed
- 5610ffaf00a5 13.1 landed
- 2b888647d864 14.0 landed