标签列表
表继承:如何在分区间强制执行唯一约束?
postgresql
inheritance
constraints
database-partitioning
6
6
我有一张表需要进行分区,但是我不知道如何处理唯一性约束。
是否可以在多个子表中创建唯一性约束?
-
Jin Kim
1
个回答
8
8
不,目前不可能实现。最好的方法是创建一个手动验证的触发器。
-
Magnus Hagander
2
2
虽然这是正确的 (+1),但值得注意的是,如果唯一字段是表分区的主键,则定义在子表上的唯一约束将使整个表的值唯一。另一方面,由于将
INSERT
重定向到子表已经需要触发器,那么该触发器也可以检查唯一性。
- dezso
自PostgreSQL 11以来,可以在分区之间创建唯一约束:https://www.postgresql.org/docs/release/11.0/ “支持对分区表进行索引(Álvaro Herrera,Amit Langote)”
- Sachin
回答链接
网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接
相关问题
20
如何在多列上设置唯一约束?
3
如何强制执行单一继承?
4
如何在Firebird字段值上强制执行不区分大小写的唯一约束?
3
更新SQL视图,强制执行对外部表值的约束。
4
在数据库中强制执行表间约束的最佳方法
18
Postgres唯一约束未强制执行唯一性
4
如何在多个表之间创建一个有条件的唯一约束?
4
跨表的Postgres唯一组合约束
4
在Datatable上强制执行约束
4
如何在多个表之间强制实施唯一约束?
INSERT
重定向到子表已经需要触发器,那么该触发器也可以检查唯一性。 - dezso