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操作。

🏷️

标签

➡️

继续阅读