TGViewer
开发者工具箱|编程·开发工具·资源 开发者工具箱|编程·开发工具·资源 @devtoolboxhub · 435 subscribers
Post #1045 6
PostgreSQL Planner Hook 原理与实战

planner_hook 是 PostgreSQL 规划器的外部拦截点,允许扩展在不修改内核代码的前提下观察或改变查询规划过程。pg_stat_statements 的规划时间统计、pg_hint_plan 的提示改写都依赖此钩子。

要点:
- 自定义函数通过 planner_hook 全局指针注册,优先于 standard_planner() 执行。
- 典型实现包含前处理、委托(调 standard_planner() 或链中下一钩子)、后处理三个阶段。
- 多扩展通过 prev_planner_hook 保存前一个钩子形成调用链,加载顺序决定执行顺序。
- 钩子在每次 SELECT/INSERT/UPDATE/DELETE/EXPLAIN 的规划阶段触发,缓存命中时不触发。

原文链接

#开发者 #工具

📢 频道:@DevToolboxHub
More from @devtoolboxhub
  1. Oct 6, 2026SpecKit Companion:让 VS Code 变成 Spec‑Driven 开发 IDE SpecKit Companion 是一款 VS Code 扩展,提供可视化的…
  2. Oct 6, 2026MCP 无状态化后,网关要改什么 MCP 规范在 7 月 28 日转向无状态。只跑一个 MCP 服务器,改动主要是删掉会话处理、加上 server/discover 方法;但跑网关…
  3. Oct 6, 2026开源新手选 issue 前先做一次分诊 Worth My Time 是一个面向开源新手的 issue 分诊工具,用来判断一个「good first issue」到底值不值得花一个晚…
  4. Oct 5, 2026企业应用漏洞修复框架:按 SLA 分级治理 企业应用通过云平台、API、AI 服务和第三方集成不断互联,安全漏洞带来的运营与业务风险随之放大。未修复的漏洞可能导致数据泄露、服务中断…
  5. Oct 5, 2026为易忘大脑设计的规划工具 这是一篇开发者社区文章,作者讲述自己反复买纸质手账、反复弃用的经历,并据此重新设计了一款规划工具。核心观点是:传统手账假设使用者能记住并主动查看,而 AD…
  6. Oct 5, 2026大型 OpenAPI 规范的多文件拆分与 CI 校验 OpenAPI 文档起步时都是干净的单文件,但到四十个操作就变成 2000 行,到上百个操作后每个 PR 都在合并时冲突,没人…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →