受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发版本: devel

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

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

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

提交更正

如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。