Skip to content
odbc_fdw

odbc_fdw

odbc_fdw : Foreign data wrapper for accessing remote databases using ODBC

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
8520
odbc_fdw
odbc_fdw
0.6.1
FDW
PostgreSQL
C
AttributeHas BinaryHas LibraryNeed LoadHas DDLRelocatableTrusted
--s-d-r
No
Yes
No
Yes
yes
no
Relationships
See Also
wrappers
multicorn
jdbc_fdw
mysql_fdw
oracle_fdw
tds_fdw
db2_fdw
postgres_fdw

Package/source version 0.6.1; SQL extension version 0.5.2. Live queries require an installed ODBC driver and configured DSN.

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
MIXED
0.6.1
18
17
16
15
14
odbc_fdw-
RPM
PGDG
0.6.1
18
17
16
15
14
odbc_fdw_$vunixODBC
DEB
PIGSTY
0.6.1
18
17
16
15
14
postgresql-$v-odbc-fdwlibodbc2
Linux / PGPG18PG17PG16PG15PG14
el8.x86_64
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
el8.aarch64
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
el9.x86_64
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
el9.aarch64
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
el10.x86_64
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
el10.aarch64
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
PGDG 0.6.1
d12.x86_64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
d12.aarch64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
d13.x86_64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
d13.aarch64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
u22.x86_64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
u22.aarch64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
u24.x86_64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
u24.aarch64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
u26.x86_64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
u26.aarch64
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PIGSTY 0.6.1
PackageVersionOSORGSIZEFile URL
odbc_fdw_180.6.1el8.x86_64pgdg28.9 KiBodbc_fdw_18-0.6.1-1PGDG.rhel8.10.x86_64.rpm
odbc_fdw_180.6.1el8.aarch64pgdg28.1 KiBodbc_fdw_18-0.6.1-1PGDG.rhel8.10.aarch64.rpm
odbc_fdw_180.6.1el9.x86_64pgdg29.0 KiBodbc_fdw_18-0.6.1-1PGDG.rhel9.8.x86_64.rpm
odbc_fdw_180.6.1el9.aarch64pgdg28.4 KiBodbc_fdw_18-0.6.1-1PGDG.rhel9.8.aarch64.rpm
odbc_fdw_180.6.1el10.x86_64pgdg30.0 KiBodbc_fdw_18-0.6.1-1PGDG.rhel10.2.x86_64.rpm
odbc_fdw_180.6.1el10.aarch64pgdg28.8 KiBodbc_fdw_18-0.6.1-1PGDG.rhel10.2.aarch64.rpm
postgresql-18-odbc-fdw0.6.1d12.x86_64pigsty48.7 KiBpostgresql-18-odbc-fdw_0.6.1-1PIGSTY~bookworm_amd64.deb
postgresql-18-odbc-fdw0.6.1d12.aarch64pigsty47.9 KiBpostgresql-18-odbc-fdw_0.6.1-1PIGSTY~bookworm_arm64.deb
postgresql-18-odbc-fdw0.6.1d13.x86_64pigsty49.0 KiBpostgresql-18-odbc-fdw_0.6.1-1PIGSTY~trixie_amd64.deb
postgresql-18-odbc-fdw0.6.1d13.aarch64pigsty47.8 KiBpostgresql-18-odbc-fdw_0.6.1-1PIGSTY~trixie_arm64.deb
postgresql-18-odbc-fdw0.6.1u22.x86_64pigsty53.1 KiBpostgresql-18-odbc-fdw_0.6.1-1PIGSTY~jammy_amd64.deb
postgresql-18-odbc-fdw0.6.1u22.aarch64pigsty52.5 KiBpostgresql-18-odbc-fdw_0.6.1-1PIGSTY~jammy_arm64.deb
postgresql-18-odbc-fdw0.6.1u24.x86_64pigsty51.1 KiBpostgresql-18-odbc-fdw_0.6.1-1PIGSTY~noble_amd64.deb
postgresql-18-odbc-fdw0.6.1u24.aarch64pigsty50.7 KiBpostgresql-18-odbc-fdw_0.6.1-1PIGSTY~noble_arm64.deb
postgresql-18-odbc-fdw0.6.1u26.x86_64pigsty50.8 KiBpostgresql-18-odbc-fdw_0.6.1-1PIGSTY~resolute_amd64.deb
postgresql-18-odbc-fdw0.6.1u26.aarch64pigsty50.3 KiBpostgresql-18-odbc-fdw_0.6.1-1PIGSTY~resolute_arm64.deb

Source

pig build pkg odbc_fdw;		# build deb

Install

Make sure PGDG and PIGSTY repo available:

pig repo add pgsql -u   # add both repo and update cache

Install this extension with pig:

pig install odbc_fdw;		# install via package name, for the active PG version

pig install odbc_fdw -v 18;   # install for PG 18
pig install odbc_fdw -v 17;   # install for PG 17
pig install odbc_fdw -v 16;   # install for PG 16
pig install odbc_fdw -v 15;   # install for PG 15
pig install odbc_fdw -v 14;   # install for PG 14

Create this extension with:

CREATE EXTENSION odbc_fdw;

Usage

odbc_fdw: Foreign data wrapper for accessing remote databases using ODBC

Create Server

Connect using a DSN defined in your ODBC configuration:

CREATE EXTENSION odbc_fdw;

CREATE SERVER odbc_server
  FOREIGN DATA WRAPPER odbc_fdw
  OPTIONS (dsn 'test');

Or specify connection attributes directly without a DSN:

CREATE SERVER odbc_server
  FOREIGN DATA WRAPPER odbc_fdw
  OPTIONS (
    odbc_DRIVER 'MySQL',
    odbc_SERVER '192.168.1.17',
    encoding 'iso88591'
  );

Server Options: dsn (ODBC data source name), driver (ODBC driver name, required if no DSN), odbc_* (driver-specific attributes), encoding (remote database character encoding).

Prefix driver-specific options with odbc_. Attributes DSN, DRIVER, UID, and PWD are automatically uppercased.

Create User Mapping

CREATE USER MAPPING FOR postgres
  SERVER odbc_server
  OPTIONS (odbc_UID 'root', odbc_PWD '');

Create Foreign Table

CREATE FOREIGN TABLE odbc_table (
  id integer,
  name varchar(255),
  description text,
  users float4,
  created timestamp
)
SERVER odbc_server
OPTIONS (
  odbc_DATABASE 'mydb',
  schema 'test',
  sql_query 'SELECT id, name, description, created, users FROM test.mytable',
  sql_count 'SELECT count(id) FROM test.mytable'
);

SELECT * FROM odbc_table;

Table Options: schema (remote schema), table (remote table name), sql_query (custom SQL query, overrides table), sql_count (custom count SQL).

Import Foreign Schema

IMPORT FOREIGN SCHEMA test
  FROM SERVER odbc_server
  INTO public
  OPTIONS (odbc_DATABASE 'mydb');
Last updated on