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

Chapter 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参考页中也有一些有用的细节。

Note

SQL 标准规定了一个用于编写外部数据包装器的接口。但是,PostgreSQL 没有实现该 API,因为要让 PostgreSQL 适配它需要大量工作,而且该标准 API 也没有得到广泛采用。