我在Postgres中有许多表,它们也是我用可传递反身闭包表维护的图中的节点。我曾想让不同的表继承自共享的“节点”表。不幸的是,关于父表的外键约束存在一个已知问题:
指定另一个表的列REFERENCES cities(name)将允许另一个表包含城市名称,但不包含大写名称。这种情况没有好的解决方法。 - (PostgreSQL Documentation : Inheritance : Caveats)
这意味着我的关系表不能对节点有约束,因为id在技术上属于子表。
有没有人找到一个不在文档中的聪明的解决方法? 鉴于“这些缺陷可能会在未来的某个版本中修复”,我是否可以遵循一个公开的问题?