Redrock Postgres 搜索 英文
版本: 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17

第 59 章. 编写自定义扫描提供程序

目录

59.1. 创建自定义扫描路径
59.1.1. 自定义扫描路径回调函数
59.2. 创建自定义扫描计划
59.2.1. 自定义扫描计划回调函数
59.3. 执行自定义扫描
59.3.1. 自定义扫描执行回调函数

PostgreSQL 支持一组试验设施,这些设施可以让扩展模块向系统添加新的扫描类型。与 外部数据包装 不同(它只负责知道如何扫描自己的外部表),自定义扫描提供程序可以提供一种扫描系统中任何关系的备选方法。通常,编写自定义扫描提供程序的动机是允许使用核心系统不支持的一些优化,例如缓存或某种形式的硬件加速。本章概述如何编写新的自定义扫描提供程序。

实现新类型的自定义扫描是一个三步过程。首先,在规划期间,有必要使用提议的策略生成表示扫描的访问路径。其次,如果计划器将这些访问路径中的一条选为扫描特定关系的最佳策略,那么必须将访问路径转换为一个计划。最后,必须能够执行该计划,并生成与针对同一关系的其他任何访问路径生成的相同结果。