💡
原文英文,约1500词,阅读约需6分钟。
📝
内容提要
PostgreSQL 18 增强了 RETURNING 子句,特别是 MERGE RETURNING 功能,简化了应用架构并改善数据跟踪。新版本支持 OLD 和 NEW 别名,便于在 DML 操作中同时访问旧值和新值,提高了开发效率,降低了复杂性。
🎯
关键要点
- PostgreSQL 18 增强了 RETURNING 子句,特别是 MERGE RETURNING 功能。
- RETURNING 子句允许 INSERT、UPDATE 和 DELETE 操作返回受影响行的数据,减少了后续 SELECT 查询的需要。
- Postgres 17 引入了对 MERGE 语句的 RETURNING 支持,提升了功能。
- PostgreSQL 18 引入了 OLD 和 NEW 别名,允许在 DML 操作中同时访问旧值和新值。
- 之前的 RETURNING 子句在不同查询类型中存在显著限制。
- OLD 和 NEW 别名的引入简化了数据捕获过程,适用于所有 DML 操作。
- MERGE 和 RETURNING 的结合为 upsert 操作提供了强大的工具。
- 通过使用 OLD 和 NEW 别名,可以跟踪详细的更改,便于审计和记录。
- 可以构建全面的审计跟踪,而无需使用触发器。
- PostgreSQL 18 的 RETURNING 增强使开发更加友好,减少了复杂的变通方法的需求。
- 未来版本可能会扩展 MERGE 功能,支持更复杂的操作和聚合结果。
❓
延伸问答
PostgreSQL 18 的 RETURNING 子句有什么新特性?
PostgreSQL 18 增强了 RETURNING 子句,特别是引入了 OLD 和 NEW 别名,允许在 DML 操作中同时访问旧值和新值。
如何使用 PostgreSQL 18 的 MERGE RETURNING 功能?
可以通过 MERGE 语句结合 RETURNING 子句来执行条件性插入、更新或删除操作,并返回受影响的行数据。
OLD 和 NEW 别名如何简化数据捕获过程?
OLD 和 NEW 别名允许在同一 DML 操作中同时访问数据的旧状态和新状态,简化了数据捕获和审计过程。
PostgreSQL 18 的 RETURNING 子句如何改善开发效率?
通过减少后续 SELECT 查询的需要,RETURNING 子句提高了开发效率,降低了复杂性。
在 PostgreSQL 18 中,如何构建审计跟踪?
可以通过 MERGE 语句结合 RETURNING 子句,记录旧值和新值,创建全面的审计跟踪,而无需使用触发器。
PostgreSQL 18 的 RETURNING 增强对未来版本有什么影响?
未来版本可能会扩展 MERGE 功能,支持更复杂的操作和聚合结果,进一步提升数据库的灵活性和功能性。
🏷️
标签
➡️