PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

Chapter 60. 编写自定义扫描提供者

Table of Contents

60.1. 创建自定义扫描路径
60.1.1. 自定义扫描路径回调
60.2. 创建自定义扫描计划
60.2.1. 自定义扫描计划回调
60.3. 执行自定义扫描
60.3.1. 自定义扫描执行回调

PostgreSQL 支持一组实验性设施,旨在让扩展模块为系统添加新的扫描类型。与只负责了解如何扫描自身外部表的 外部数据包装器 不同,自定义扫描提供者可以为扫描系统中的任何关系提供替代方法。通常,编写自定义扫描提供者的动机是使用核心系统不支持的一些优化,例如缓存或某种形式的硬件加速。本章概述如何编写新的自定义扫描提供者。

实现一种新类型的自定义扫描分三步。首先,在规划期间,需要生成表示使用所提议策略进行扫描的访问路径。其次,如果规划器选中其中某个访问路径作为扫描特定关系的最优策略,该访问路径必须被转换为计划。最后,必须能够执行该计划,并产生与针对同一关系的任何其他访问路径会产生的结果相同的结果。