发布于 2026-09-10T10:59:45.445857Z · Paul Jungwirth · PostgreSQL hackers

在视图上同时用 FOR PORTION OF 更新和 INSTEAD OF 触发器,会让 PostgreSQL 19 解引用空指针。修法是禁掉这个组合,争的是该在哪一步拦:解析、重写还是执行。Paul Jungwirth 起初认为解析阶段够用,因为 relcache 失效会强制重新解析;Tom Lane 纠正说视图是以重写规则的形式存在磁盘上的,后续重写并不会触发重新解析。Paul 随后用测试验证了解析阶段拦截会让服务器崩溃,重写和执行阶段都能正确挡住。
在视图上同时用 FOR PORTION OF 更新和 INSTEAD OF 触发器,会让 PostgreSQL 19 解引用空指针。修法是禁掉这个组合,争的是该在哪一步拦:解析、重写还是执行。Paul Jungwirth 起初认为解析阶段够用,因为 relcache 失效会强制重新解析;Tom Lane 纠正说视图是以重写规则的形式存在磁盘上的,后续重写并不会触发重新解析。Paul 随后用测试验证了解析阶段拦截会让服务器崩溃,重写和执行阶段都能正确挡住。
来源记录
- center.info_item · 19a1ab8af5c0c708 · 2026-10-03T04:08:35.169032Z
- pgweb.info_item · 19a1ab8af5c0c708 · 2026-10-03T04:08:55.967155Z