Re: unique indexes on partitioned tables
Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>,
Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2018-01-26T18:42:17Z
Lists: pgsql-hackers
On 1/22/18 17:55, Alvaro Herrera wrote:
> Alvaro Herrera wrote:
>> Version 4 of this patch, rebased on today's master.
+ if (key->partattrs[i] == 0)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("unsupported %s constraint with
partition key definition",
+ constraint_type),
+ errmsg("%s constraints cannot be used when
partition keys include expressions.",
+ constraint_type)));
Double errmsg(). (Maybe an Assert somewhere should help catch this?)
+alter table idxpart add primary key (a); -- not an incomplete one tho
"though"?
I would like to see some tests that the unique constraints are actually
enforced. That is, insert some duplicate values and see it fail. Throw
some null values in, to check PK behavior as well. It should be
trivial, but seems kind of useful.
Other than that, this looks pretty good to me. A logical extension of
the previous partitioned index patch.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Avoid having two PKs in a partition
- 1f8a3327a9db 11.0 landed
-
Allow UNIQUE indexes on partitioned tables
- eb7ed3f30634 11.0 landed