db2_fdw
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
db2_fdw | 18.2.0 | FDW | PostgreSQL | C |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 8630 | db2_fdw | No | Yes | No | Yes | No | No | - |
| Related | 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; Pigsty source remains 18.1.1; no DEB package is available.
Version
Install
You can install db2_fdw directly. First, make sure the PGDG repository is added and enabled:
Install the extension using pig or apt/yum/dnf:
Create Extension:
Usage
Sources: README, current upstream README
db2_fdw is a PostgreSQL foreign data wrapper for querying and modifying IBM Db2 tables from PostgreSQL. It pushes down required columns and WHERE conditions where possible, and provides helper functions for connection cleanup and diagnostics.
Create Server
Server options: dbserver (required Db2 connection string), batch_size (currently reserved for future batch behavior), and no_encoding_error (ON, OFF, YES, NO, TRUE, or FALSE).
Create User Mapping
Use empty strings for user and password to enable external authentication through the Db2 client environment.
Create Foreign Table
Table options: table (required, Db2 table name or simple query, case-sensitive, typically uppercase), schema (table owner), readonly (default false), sample_percent (ANALYZE sampling), prefetch (rows per round-trip, default 100, range 0-1024), fetch_size (accepted but currently fixed at 1), batch_size, and no_encoding_error. max_long is documented upstream as deprecated and no longer used.
Column options: key (set to true for all primary key columns, required for UPDATE and DELETE), plus Db2 metadata options such as db2type, db2size, db2bytes, db2chars, db2scale, db2null, and db2ccsid on imported tables.
Import Foreign Schema
Import Options: case (keep, lower, or smart, default smart), readonly.
CRUD Operations
Connection Helpers
db2_close_connections() closes cached Db2 connections in the current session. db2_diag() reports db2_fdw, PostgreSQL, Db2 client, and optionally remote server diagnostic details.
Data Type Mapping
| DB2 Type | PostgreSQL Types |
|---|---|
| CHAR | char |
| VARCHAR | varchar |
| CLOB | text |
| VARGRAPHIC, GRAPHIC | text |
| BLOB | bytea |
| SMALLINT, INTEGER, BIGINT | smallint, integer, bigint |
| DOUBLE | numeric, float |
| DATE | date |
| TIMESTAMP | timestamp |
| TIME | time |
WHERE conditions and column projections are pushed down to DB2 to minimize data transfer.
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)