章 55. 编写一个外部数据包装器

目录
55.1. 外部数据包装器函数
55.2. 外部数据包装器回调例程
55.2.1. 用于扫描外部表的FDW例程
55.2.2. 用于扫描外部连接的 FDW 例程
55.2.3. 用于规划扫描/连接后处理的 FDW 例程
55.2.4. 更新外部表的FDW例程
55.2.5. 用于行锁定的 FDW 例程
55.2.6. EXPLAIN的FDW例程
55.2.7. ANALYZE的FDW例程
55.2.8. IMPORT FOREIGN SCHEMA的 FDW 例程
55.2.9. 并行执行的 FDW 例程
55.3. 外部数据包装器助手函数
55.4. 外部数据包装器查询规划
55.5. 外部数据包装器中的行锁定

所有在一个外部表上的操作都通过它的外部数据包装器来处理,外部数据包装器由一组被核心服务器调用的函数组成。外部数据包装器负责从远程数据源取得数据并把它返回给PostgreSQL执行器。如果要支持更新外部表,包装器也需要处理更新。本章将介绍如何编写一个新的外部数据包装器。

在你试图编写你自己的外部数据包装器时,包含在标准发布中的外部数据包装器会是很好的参考。请看看源代码树的contrib子目录。CREATE FOREIGN DATA WRAPPER参考页也会有很多有用的细节。

注意: SQL 标准声明了一个接口用来编写外部数据包装器。但是,PostgreSQL 没有实现该 API,因为将其纳入到 PostgreSQL 中的工作量将会很大,并且标准的 API 并没有得到广泛地采用。