db2_fdw
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
db2_fdw | 18.2.0 | FDW | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 8630 | db2_fdw | 否 | 是 | 否 | 是 | 否 | 否 | - |
| 相关扩展 | db_migrator db2fce pg_statement_rollback mysql_fdw orafce postgres_fdw tds_fdw oracle_fdw sqlite_fdw informix_fdw |
|---|
Latest PGDG RPM/catalog version is 18.2.0; no DEB package is available.
版本
安装
您可以直接安装 db2_fdw 扩展包的预置二进制包,首先确保 PGDG 仓库已经添加并启用:
使用 pig 或者是 apt/yum/dnf 安装扩展:
创建扩展:
用法
来源:
db2_fdw 18.2.0 通过 PostgreSQL 外部表查询和修改 IBM Db2 表,能够下推支持的过滤条件以及所需列。上游要求 PostgreSQL 10.1 或更高版本,以及与 PostgreSQL 架构相同的 IBM Db2 客户端 11.1 或更高版本。服务进程必须能够加载该客户端并访问指定数据库;安装扩展并不会提供外部客户端或 Db2 服务。
连接并导入表
示例假设 Db2 客户端可以连接已编目的 SAMPLE 数据库,且存在 DB2INST1.EMPLOYEE 表。由超级用户安装扩展,然后创建服务和指定角色的用户映射;应使用真实 Db2 凭据替换示例密码:
导入会取得封装器所需的 Db2 列元数据;默认的智能大小写折叠会将全大写名称转为小写。独立的应用角色需要外部服务 USAGE 权限、自己的用户映射以及相应模式和表权限。凭据只供单个角色使用时,不应建立 PUBLIC 映射。用户名和密码均为空字符串时会选择上游的外部认证路径,结果取决于 Db2 客户端环境。
选项与写入
- 服务选项
dbserver指定 Db2 连接,no_encoding_error控制编码转换错误处理;本版本的batch_size为保留项,不能视为已实现批量插入。 - 表选项
schema和table指定远端对象,readonly禁止修改。prefetch默认为 100,允许 0–1024;fetch_size虽可设置,目前仍固定为 1。sample_percent控制 ANALYZE 采样。 - 为进行
UPDATE和DELETE,列选项key必须标记全部远端主键列。导入的元数据包括db2type、db2size、db2bytes、db2chars、db2scale、db2null和db2ccsid;修改导入表时应保留这些信息。 - IMPORT FOREIGN SCHEMA 的
case和readonly选项控制名称折叠以及导入表能否写入。
INSERT、UPDATE 和 DELETE 还需要 Db2 侧的权限。开放写入前,应检查列映射和远端键定义;PostgreSQL 声明本身不会创建远端主键。不支持下推的过滤会在本地执行,应检查 EXPLAIN 后再判断是否已经下推。
诊断与事务
db2_diag() 返回本地客户端与构建信息,并可选地返回远端服务诊断;db2_close_connections() 关闭当前后端缓存的连接,不应在已经修改 Db2 数据的事务中调用。长时间运行的 PostgreSQL 会话可能持续占用远端连接和事务资源。
类型与维护
常见映射包括字符类型到文本或字符类型、BLOB 到 bytea、整数类型到 PostgreSQL 整数类型,以及 DATE、TIMESTAMP、TIME 到对应类型。声明的 PostgreSQL 类型与宽度必须容纳远端值,转换错误会在查询时出现。控制版本为 18.2.0,允许重定位;普通使用无需共享预加载。IBM 客户端的环境和连接要求应以对应版本 README 为准,并区分软件包升级与对实际外部数据库的验证。
这个页面对您有帮助吗?
感谢反馈,我们会据此改进这篇文档。
哪里没有解决?(可选)