Hubert 'depesz' Lubaczewski:期待PostgreSQL 18——增加时间外键约束
原文英文,约800词,阅读约需3分钟。
📝
内容提要
2024年9月17日,Peter Eisentraut提交了一个补丁,为PostgreSQL增加了时间外键约束和PERIOD子句,支持范围和多范围类型。时间外键检查范围包含,符合SQL标准,但使用本地范围。尚不支持ON {UPDATE, DELETE}动作。示例展示了如何创建和验证带有时间外键的表。此功能增强了PostgreSQL的时间数据处理能力。
🎯
关键要点
-
2024年9月17日,Peter Eisentraut提交了补丁,为PostgreSQL增加了时间外键约束和PERIOD子句。
-
时间外键检查范围包含,符合SQL标准,但使用本地范围。
-
尚不支持ON {UPDATE, DELETE}动作。
-
补丁允许创建和验证带有时间外键的表,增强了PostgreSQL的时间数据处理能力。
-
示例展示了如何创建带有时间外键的表和插入有效及无效的订单。
-
查询数据时可以通过JOIN操作连接订单和地址表。
-
删除已使用地址的订单时会违反外键约束,无法删除。
❓
延伸问答
PostgreSQL 18中新增了什么功能?
PostgreSQL 18中新增了时间外键约束和PERIOD子句,支持范围和多范围类型。
时间外键约束的检查方式是什么?
时间外键检查范围包含,而不是简单的相等性检查。
如何创建带有时间外键的表?
可以使用CREATE TABLE语句,定义外键时使用PERIOD关键字来引用有效范围。
在PostgreSQL中,如何验证时间外键的有效性?
通过插入有效的订单数据,确保其地址在有效范围内来验证时间外键的有效性。
如果尝试删除已使用地址的订单会发生什么?
会违反外键约束,无法删除该地址。
PostgreSQL 18的时间外键约束是否支持ON UPDATE和ON DELETE操作?
尚不支持ON UPDATE和ON DELETE操作。
🏷️