mirror of
https://github.com/postgres/postgres.git
synced 2025-11-03 09:13:20 +03:00
Allow some exclusion constraints on partitions
Previously we only allowed unique B-tree constraints on partitions (and only if the constraint included all the partition keys). But we could allow exclusion constraints with the same restriction. We also require that those columns be compared for equality, not something like &&. Author: Paul A. Jungwirth <pj@illuminatedcomputing.com> Reviewed-by: Ronan Dunklau <ronan.dunklau@aiven.io> Reviewed-by: Peter Eisentraut <peter@eisentraut.org> Discussion: https://www.postgresql.org/message-id/flat/ec8b1d9b-502e-d1f8-e909-1bf9dffe6fa5@illuminatedcomputing.com
This commit is contained in:
@@ -2342,14 +2342,11 @@ ALTER TABLE ataddindex
|
||||
\d ataddindex
|
||||
DROP TABLE ataddindex;
|
||||
|
||||
-- unsupported constraint types for partitioned tables
|
||||
-- cannot drop column that is part of the partition key
|
||||
CREATE TABLE partitioned (
|
||||
a int,
|
||||
b int
|
||||
) PARTITION BY RANGE (a, (a+b+1));
|
||||
ALTER TABLE partitioned ADD EXCLUDE USING gist (a WITH &&);
|
||||
|
||||
-- cannot drop column that is part of the partition key
|
||||
ALTER TABLE partitioned DROP COLUMN a;
|
||||
ALTER TABLE partitioned ALTER COLUMN a TYPE char(5);
|
||||
ALTER TABLE partitioned DROP COLUMN b;
|
||||
|
||||
Reference in New Issue
Block a user