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

第 58 章. 编写外部数据包装器

目录

58.1. 外部数据包装器函数
58.2. 外部数据包装器回调例程
58.2.1. 用于扫描外部表的 FDW 例程
58.2.2. 用于扫描外部连接的 FDW 例程
58.2.3. 用于规划扫描/连接后处理的 FDW 例程
58.2.4. 用于更新外部表的 FDW 例程
58.2.5. 用于 TRUNCATE 的 FDW 例程
58.2.6. 用于行锁定的 FDW 例程
58.2.7. 用于 EXPLAIN 的 FDW 例程
58.2.8. 用于 ANALYZE 的 FDW 例程
58.2.9. 用于 IMPORT FOREIGN SCHEMA 的 FDW 例程
58.2.10. 用于并行执行的 FDW 例程
58.2.11. 用于异步执行的 FDW 例程
58.2.12. 用于路径重参数化的 FDW 例程
58.3. 外部数据包装器辅助函数
58.4. 外部数据包装器查询规划
58.5. 外部数据包装器中的行锁定

对外部表的所有操作都通过其外部数据包装器进行处理,该包装器由核心服务器调用的函数集组成。外部数据包装器负责从远程数据源获取数据并将其返回给 PostgreSQL 执行器。如果支持更新外部表,包装器也必须处理该功能。本章概述了如何编写新的外部数据包装器。

标准发行版中包含的外部数据包装器是编写自己的包装器时的良好参考。请查看源代码树的 contrib 子目录。 CREATE FOREIGN DATA WRAPPER 参考页面也包含一些有用的细节。

注意

SQL 标准为编写外部数据包装器指定了一个接口。但是,PostgreSQL 没有实现该 API,因为将其集成到 PostgreSQL 中的工作量很大,而且标准 API 也没有获得广泛采用。