postgresql - 基于日期的分区对于表的主键有问题 - 任何解决方法?
问题描述
我有一个表,我想根据“删除”日期进行分区。
create table resources(
id int,
type varchar(30),
deleted date
)
我想从另一个表中获得一个指向该表的 id 列的外键。但是,由于我有基于删除日期的分区,因此我必须将其包含在主键中。将删除的列添加到主键没有意义,还会阻止其他表的FK指向该表。有解决方法吗?
谢谢
解决方案
不,对于分区表的外键没有解决方法。您必须添加deleted
到主键或唯一约束以及引用分区表的表中。
如果您不希望这样,则必须不使用外键约束。
沿着deleted
与resources
. 然后您可以以协调的方式摆脱旧数据,如果您添加deleted
到连接条件,您可以从enable_partitionwise_join = on
.
推荐阅读
- angular - 引导开关的调用事件改变
- python - C++ 正则表达式 * 只保存最后匹配的
- javascript - 使用正则表达式比较 switch 语句中的数组元素
- html - 有没有办法可以改变css中的边框高度?
- java - 重用同一个数组而不是声明一个新数组有意义吗?
- python - 根据参数类型设置 issubset 性能差异
- .htaccess - 防止人们直接在我的网站上打开 pdf
- mysql - 编写为备份文件创建日期目录的小型 Shell 脚本时遇到问题
- perl - 在单次迭代中提取相同模式的第一次和最后一次出现之间的所有内容
- javascript - 如何使用javascript从summernote编辑器获取和设置光标位置