informix_fdw
informix_fdw : Foreign data wrapper for Informix access
Overview
| ID | Extension | Package | Version | Category | License | Language |
|---|---|---|---|---|---|---|
| 8670 | informix_fdw
|
informix_fdw
|
0.6.3 |
FDW
|
PostgreSQL
|
C
|
| Attribute | Has Binary | Has Library | Need Load | Has DDL | Relocatable | Trusted |
|---|---|---|---|---|---|---|
--s-d-r
|
No
|
Yes
|
No
|
Yes
|
yes
|
no
|
PGDG non-free (pgnf) only; no SQL-level extension dependency; runtime requires IBM Informix Client SDK (libifsql15a/libifasf15a/libifgen15a/libifos15a/libifgls)
Packages
| Type | Repo | Version | PG Major Compatibility | Package Pattern | Dependencies |
|---|---|---|---|---|---|
| EXT | PGDG
|
0.6.3 |
18
17
16
15
14
|
informix_fdw |
- |
| RPM | PGDG
|
0.6.3 |
18
17
16
15
14
|
informix_fdw_$v |
- |
| Linux / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
el8.x86_64
|
PGDG 0.6.3
|
PGDG 0.6.3
|
PGDG 0.6.3
|
PGDG 0.6.3
|
PGDG 0.6.3
|
el8.aarch64
|
MISS
|
MISS
|
MISS
|
MISS
|
MISS
|
el9.x86_64
|
PGDG 0.6.3
|
PGDG 0.6.3
|
PGDG 0.6.3
|
PGDG 0.6.3
|
PGDG 0.6.3
|
el9.aarch64
|
MISS
|
MISS
|
MISS
|
MISS
|
MISS
|
el10.x86_64
|
PGDG 0.6.3
|
PGDG 0.6.3
|
PGDG 0.6.3
|
PGDG 0.6.3
|
PGDG 0.6.3
|
el10.aarch64
|
MISS
|
MISS
|
MISS
|
MISS
|
MISS
|
d12.x86_64
|
MISS
|
MISS
|
MISS
|
MISS
|
MISS
|
d12.aarch64
|
MISS
|
MISS
|
MISS
|
MISS
|
MISS
|
d13.x86_64
|
MISS
|
MISS
|
MISS
|
MISS
|
MISS
|
d13.aarch64
|
MISS
|
MISS
|
MISS
|
MISS
|
MISS
|
u22.x86_64
|
MISS
|
MISS
|
MISS
|
MISS
|
MISS
|
u22.aarch64
|
MISS
|
MISS
|
MISS
|
MISS
|
MISS
|
u24.x86_64
|
MISS
|
MISS
|
MISS
|
MISS
|
MISS
|
u24.aarch64
|
MISS
|
MISS
|
MISS
|
MISS
|
MISS
|
| Package | Version | OS | ORG | SIZE | File URL |
|---|---|---|---|---|---|
informix_fdw_18 |
0.6.3 |
el8.x86_64 | pgdg | 61.3 KiB | informix_fdw_18-0.6.3-1PGDG.rhel8.x86_64.rpm |
informix_fdw_18 |
0.6.3 |
el9.x86_64 | pgdg | 59.8 KiB | informix_fdw_18-0.6.3-1PGDG.rhel9.x86_64.rpm |
informix_fdw_18 |
0.6.3 |
el10.x86_64 | pgdg | 60.6 KiB | informix_fdw_18-0.6.3-1PGDG.rhel10.x86_64.rpm |
| Package | Version | OS | ORG | SIZE | File URL |
|---|---|---|---|---|---|
informix_fdw_17 |
0.6.3 |
el8.x86_64 | pgdg | 61.3 KiB | informix_fdw_17-0.6.3-1PGDG.rhel8.x86_64.rpm |
informix_fdw_17 |
0.6.3 |
el9.x86_64 | pgdg | 59.9 KiB | informix_fdw_17-0.6.3-1PGDG.rhel9.x86_64.rpm |
informix_fdw_17 |
0.6.3 |
el10.x86_64 | pgdg | 60.5 KiB | informix_fdw_17-0.6.3-1PGDG.rhel10.x86_64.rpm |
| Package | Version | OS | ORG | SIZE | File URL |
|---|---|---|---|---|---|
informix_fdw_16 |
0.6.3 |
el8.x86_64 | pgdg | 61.3 KiB | informix_fdw_16-0.6.3-1PGDG.rhel8.x86_64.rpm |
informix_fdw_16 |
0.6.3 |
el9.x86_64 | pgdg | 59.8 KiB | informix_fdw_16-0.6.3-1PGDG.rhel9.x86_64.rpm |
informix_fdw_16 |
0.6.2 |
el9.x86_64 | pgdg | 59.5 KiB | informix_fdw_16-0.6.2-2PGDG.rhel9.x86_64.rpm |
informix_fdw_16 |
0.6.3 |
el10.x86_64 | pgdg | 60.6 KiB | informix_fdw_16-0.6.3-1PGDG.rhel10.x86_64.rpm |
informix_fdw_16 |
0.6.2 |
el10.x86_64 | pgdg | 60.2 KiB | informix_fdw_16-0.6.2-2PGDG.rhel10.x86_64.rpm |
| Package | Version | OS | ORG | SIZE | File URL |
|---|---|---|---|---|---|
informix_fdw_15 |
0.6.3 |
el8.x86_64 | pgdg | 63.4 KiB | informix_fdw_15-0.6.3-1PGDG.rhel8.x86_64.rpm |
informix_fdw_15 |
0.6.3 |
el9.x86_64 | pgdg | 64.2 KiB | informix_fdw_15-0.6.3-1PGDG.rhel9.x86_64.rpm |
informix_fdw_15 |
0.6.2 |
el9.x86_64 | pgdg | 63.9 KiB | informix_fdw_15-0.6.2-2PGDG.rhel9.x86_64.rpm |
informix_fdw_15 |
0.6.3 |
el10.x86_64 | pgdg | 64.9 KiB | informix_fdw_15-0.6.3-1PGDG.rhel10.x86_64.rpm |
informix_fdw_15 |
0.6.2 |
el10.x86_64 | pgdg | 64.4 KiB | informix_fdw_15-0.6.2-2PGDG.rhel10.x86_64.rpm |
| Package | Version | OS | ORG | SIZE | File URL |
|---|---|---|---|---|---|
informix_fdw_14 |
0.6.3 |
el8.x86_64 | pgdg | 63.4 KiB | informix_fdw_14-0.6.3-1PGDG.rhel8.x86_64.rpm |
informix_fdw_14 |
0.6.3 |
el9.x86_64 | pgdg | 64.2 KiB | informix_fdw_14-0.6.3-1PGDG.rhel9.x86_64.rpm |
informix_fdw_14 |
0.6.2 |
el9.x86_64 | pgdg | 63.8 KiB | informix_fdw_14-0.6.2-2PGDG.rhel9.x86_64.rpm |
informix_fdw_14 |
0.6.3 |
el10.x86_64 | pgdg | 64.9 KiB | informix_fdw_14-0.6.3-1PGDG.rhel10.x86_64.rpm |
informix_fdw_14 |
0.6.2 |
el10.x86_64 | pgdg | 64.5 KiB | informix_fdw_14-0.6.2-2PGDG.rhel10.x86_64.rpm |
Source
Install
Make sure PGDG repo available:
pig repo add pgdg -u # add pgdg repo and update cacheInstall this extension with pig:
pig install informix_fdw; # install via package name, for the active PG version
pig install informix_fdw -v 18; # install for PG 18
pig install informix_fdw -v 17; # install for PG 17
pig install informix_fdw -v 16; # install for PG 16
pig install informix_fdw -v 15; # install for PG 15
pig install informix_fdw -v 14; # install for PG 14Create this extension with:
CREATE EXTENSION informix_fdw;Usage
Create Server
CREATE EXTENSION informix_fdw;
CREATE SERVER informix_server
FOREIGN DATA WRAPPER informix_fdw
OPTIONS (
informixserver 'informix_hostname',
informixdir '/opt/informix/csdk'
);Server Options: informixserver (required, Informix server identifier from sqlhosts file), informixdir (required, path to Informix Client SDK), disable_predicate_pushdown (disable WHERE pushdown), gl_datetime (custom datetime format, default %iY-%m-%d %H:%M:%S), gl_date (custom date format, default %iY-%m-%d).
Create User Mapping
CREATE USER MAPPING FOR CURRENT_USER
SERVER informix_server
OPTIONS (username 'informix', password 'secret');Create Foreign Table
CREATE FOREIGN TABLE remote_table (
id bigint NOT NULL,
name varchar(255),
amount numeric(10,2),
created timestamp
)
SERVER informix_server
OPTIONS (
database 'mydb',
table 'remote_table',
client_locale 'en_US.utf8',
db_locale 'en_US.819'
);Table Options: database (required, remote database name), table or query (one required), client_locale (required, must match PostgreSQL server encoding), db_locale (required, should match Informix locale), disable_rowid (use updatable cursor instead of ROWID), enable_blobs (include if table contains BLOBs).
Use query instead of table for view-like access:
CREATE FOREIGN TABLE remote_view (
id bigint,
total numeric(10,2)
)
SERVER informix_server
OPTIONS (
database 'mydb',
query 'SELECT id, SUM(amount) AS total FROM orders GROUP BY id',
client_locale 'en_US.utf8',
db_locale 'en_US.819'
);CRUD Operations
SELECT * FROM remote_table WHERE id > 100;
INSERT INTO remote_table (id, name, amount) VALUES (1, 'test', 99.99);
UPDATE remote_table SET amount = 100.00 WHERE id = 1;
DELETE FROM remote_table WHERE id = 1;Supported Data Types
Queries: BOOLEAN, DATE, DATETIME, INTERVAL, SMALLINT, INTEGER, BIGINT, SERIAL, VARCHAR, CHARACTER, TEXT, NUMERIC, MONEY.
DML operations: SERIAL, INTEGER, BIGINT, INTERVAL, TEXT, BYTEA, VARCHAR, NVARCHAR, TIMESTAMP, DATE, NUMERIC, MONEY.