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

目录

PostgreSQL 支持一组实验工具,旨在允许扩展模块向系统添加新的扫描类型。与仅负责知道如何扫描其外部表的外部数据包装器不同,自定义扫描提供程序可以提供另一种方法来扫描系统中的任何关系。通常,编写自定义扫描提供程序的动机是允许使用核心系统不支持的某些优化,例如缓存或某种形式的硬件加速。本章概述了如何编写新的自定义扫描提供程序。

实施一种新型的自定义扫描是一个三步过程。首先,在规划过程中,有必要使用建议的策略生成代表扫描的访问路径。其次,如果计划者选择这些访问路径之一作为扫描特定关系的最佳策略,则必须将访问路径转换为计划。最后,必须有可能执行计划并生成与针对相同关系的任何其他访问路径所生成的结果相同的结果。