firebird_fdw

firebird_fdw

firebird_fdw : Foreign data wrapper for Firebird

Overview

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

pg18 breaks

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
PIGSTY
1.4.1
18
17
16
15
14
firebird_fdw-
RPM
PIGSTY
1.4.1
18
17
16
15
14
firebird_fdw_$vlibfq
DEB
PIGSTY
1.4.1
18
17
16
15
14
postgresql-$v-firebird-fdwlibfq
Linux / PGPG18PG17PG16PG15PG14
el8.x86_64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
el8.aarch64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
el9.x86_64
PGDG 1.4.1
PGDG 1.4.1
PGDG 1.4.1
PGDG 1.4.1
PGDG 1.4.1
el9.aarch64
PGDG 1.4.1
PGDG 1.4.1
PGDG 1.4.1
PGDG 1.4.1
PGDG 1.4.1
el10.x86_64
MISS
MISS
MISS
MISS
MISS
el10.aarch64
MISS
MISS
MISS
MISS
MISS
d12.x86_64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
d12.aarch64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
d13.x86_64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
d13.aarch64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
u22.x86_64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
u22.aarch64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
u24.x86_64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
u24.aarch64
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PIGSTY 1.4.1
PackageVersionOSORGSIZEFile URL
firebird_fdw_181.4.1el8.x86_64pigsty53.9 KiBfirebird_fdw_18-1.4.1-1PIGSTY.el8.x86_64.rpm
firebird_fdw_181.4.1el8.aarch64pigsty52.2 KiBfirebird_fdw_18-1.4.1-1PIGSTY.el8.aarch64.rpm
firebird_fdw_181.4.1el9.x86_64pgdg52.7 KiBfirebird_fdw_18-1.4.1-3PGDG.rhel9.7.x86_64.rpm
firebird_fdw_181.4.1el9.x86_64pigsty53.9 KiBfirebird_fdw_18-1.4.1-1PIGSTY.el9.x86_64.rpm
firebird_fdw_181.4.1el9.x86_64pgdg52.5 KiBfirebird_fdw_18-1.4.1-1PGDG.rhel9.x86_64.rpm
firebird_fdw_181.4.1el9.aarch64pgdg51.5 KiBfirebird_fdw_18-1.4.1-3PGDG.rhel9.7.aarch64.rpm
firebird_fdw_181.4.1el9.aarch64pigsty52.5 KiBfirebird_fdw_18-1.4.1-1PIGSTY.el9.aarch64.rpm
firebird_fdw_181.4.1el9.aarch64pgdg51.3 KiBfirebird_fdw_18-1.4.1-1PGDG.rhel9.aarch64.rpm
postgresql-18-firebird-fdw1.4.1d12.x86_64pigsty140.8 KiBpostgresql-18-firebird-fdw_1.4.1-1PIGSTY~bookworm_amd64.deb
postgresql-18-firebird-fdw1.4.1d12.aarch64pigsty137.8 KiBpostgresql-18-firebird-fdw_1.4.1-1PIGSTY~bookworm_arm64.deb
postgresql-18-firebird-fdw1.4.1d13.x86_64pigsty141.1 KiBpostgresql-18-firebird-fdw_1.4.1-1PIGSTY~trixie_amd64.deb
postgresql-18-firebird-fdw1.4.1d13.aarch64pigsty137.8 KiBpostgresql-18-firebird-fdw_1.4.1-1PIGSTY~trixie_arm64.deb
postgresql-18-firebird-fdw1.4.1u22.x86_64pigsty150.0 KiBpostgresql-18-firebird-fdw_1.4.1-1PIGSTY~jammy_amd64.deb
postgresql-18-firebird-fdw1.4.1u22.aarch64pigsty148.2 KiBpostgresql-18-firebird-fdw_1.4.1-1PIGSTY~jammy_arm64.deb
postgresql-18-firebird-fdw1.4.1u24.x86_64pigsty143.9 KiBpostgresql-18-firebird-fdw_1.4.1-1PIGSTY~noble_amd64.deb
postgresql-18-firebird-fdw1.4.1u24.aarch64pigsty143.1 KiBpostgresql-18-firebird-fdw_1.4.1-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
firebird_fdw_171.4.1el8.x86_64pigsty53.9 KiBfirebird_fdw_17-1.4.1-1PIGSTY.el8.x86_64.rpm
firebird_fdw_171.4.1el8.aarch64pigsty52.0 KiBfirebird_fdw_17-1.4.1-1PIGSTY.el8.aarch64.rpm
firebird_fdw_171.4.1el9.x86_64pgdg52.6 KiBfirebird_fdw_17-1.4.1-3PGDG.rhel9.7.x86_64.rpm
firebird_fdw_171.4.1el9.x86_64pigsty54.3 KiBfirebird_fdw_17-1.4.1-1PIGSTY.el9.x86_64.rpm
firebird_fdw_171.4.0el9.x86_64pgdg52.7 KiBfirebird_fdw_17-1.4.0-3PGDG.rhel9.x86_64.rpm
firebird_fdw_171.4.1el9.aarch64pgdg51.6 KiBfirebird_fdw_17-1.4.1-3PGDG.rhel9.7.aarch64.rpm
firebird_fdw_171.4.1el9.aarch64pigsty52.5 KiBfirebird_fdw_17-1.4.1-1PIGSTY.el9.aarch64.rpm
firebird_fdw_171.4.0el9.aarch64pgdg51.6 KiBfirebird_fdw_17-1.4.0-3PGDG.rhel9.aarch64.rpm
postgresql-17-firebird-fdw1.4.1d12.x86_64pigsty140.8 KiBpostgresql-17-firebird-fdw_1.4.1-1PIGSTY~bookworm_amd64.deb
postgresql-17-firebird-fdw1.4.1d12.aarch64pigsty137.4 KiBpostgresql-17-firebird-fdw_1.4.1-1PIGSTY~bookworm_arm64.deb
postgresql-17-firebird-fdw1.4.1d13.x86_64pigsty140.7 KiBpostgresql-17-firebird-fdw_1.4.1-1PIGSTY~trixie_amd64.deb
postgresql-17-firebird-fdw1.4.1d13.aarch64pigsty137.6 KiBpostgresql-17-firebird-fdw_1.4.1-1PIGSTY~trixie_arm64.deb
postgresql-17-firebird-fdw1.4.1u22.x86_64pigsty169.5 KiBpostgresql-17-firebird-fdw_1.4.1-1PIGSTY~jammy_amd64.deb
postgresql-17-firebird-fdw1.4.1u22.aarch64pigsty167.8 KiBpostgresql-17-firebird-fdw_1.4.1-1PIGSTY~jammy_arm64.deb
postgresql-17-firebird-fdw1.4.1u24.x86_64pigsty143.6 KiBpostgresql-17-firebird-fdw_1.4.1-1PIGSTY~noble_amd64.deb
postgresql-17-firebird-fdw1.4.1u24.aarch64pigsty142.7 KiBpostgresql-17-firebird-fdw_1.4.1-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
firebird_fdw_161.4.1el8.x86_64pigsty53.9 KiBfirebird_fdw_16-1.4.1-1PIGSTY.el8.x86_64.rpm
firebird_fdw_161.4.1el8.aarch64pigsty52.0 KiBfirebird_fdw_16-1.4.1-1PIGSTY.el8.aarch64.rpm
firebird_fdw_161.4.1el9.x86_64pgdg52.6 KiBfirebird_fdw_16-1.4.1-3PGDG.rhel9.7.x86_64.rpm
firebird_fdw_161.4.1el9.x86_64pigsty53.8 KiBfirebird_fdw_16-1.4.1-1PIGSTY.el9.x86_64.rpm
firebird_fdw_161.3.1el9.x86_64pgdg51.2 KiBfirebird_fdw_16-1.3.1-1PGDG.rhel9.x86_64.rpm
firebird_fdw_161.4.1el9.aarch64pgdg51.6 KiBfirebird_fdw_16-1.4.1-3PGDG.rhel9.7.aarch64.rpm
firebird_fdw_161.4.1el9.aarch64pigsty52.6 KiBfirebird_fdw_16-1.4.1-1PIGSTY.el9.aarch64.rpm
firebird_fdw_161.4.0el9.aarch64pgdg51.4 KiBfirebird_fdw_16-1.4.0-1PGDG.rhel9.aarch64.rpm
firebird_fdw_161.3.1el9.aarch64pgdg49.9 KiBfirebird_fdw_16-1.3.1-1PGDG.rhel9.aarch64.rpm
postgresql-16-firebird-fdw1.4.1d12.x86_64pigsty140.6 KiBpostgresql-16-firebird-fdw_1.4.1-1PIGSTY~bookworm_amd64.deb
postgresql-16-firebird-fdw1.4.1d12.aarch64pigsty137.3 KiBpostgresql-16-firebird-fdw_1.4.1-1PIGSTY~bookworm_arm64.deb
postgresql-16-firebird-fdw1.4.1d13.x86_64pigsty140.5 KiBpostgresql-16-firebird-fdw_1.4.1-1PIGSTY~trixie_amd64.deb
postgresql-16-firebird-fdw1.4.1d13.aarch64pigsty137.7 KiBpostgresql-16-firebird-fdw_1.4.1-1PIGSTY~trixie_arm64.deb
postgresql-16-firebird-fdw1.4.1u22.x86_64pigsty169.3 KiBpostgresql-16-firebird-fdw_1.4.1-1PIGSTY~jammy_amd64.deb
postgresql-16-firebird-fdw1.4.1u22.aarch64pigsty167.5 KiBpostgresql-16-firebird-fdw_1.4.1-1PIGSTY~jammy_arm64.deb
postgresql-16-firebird-fdw1.4.1u24.x86_64pigsty143.5 KiBpostgresql-16-firebird-fdw_1.4.1-1PIGSTY~noble_amd64.deb
postgresql-16-firebird-fdw1.4.1u24.aarch64pigsty142.8 KiBpostgresql-16-firebird-fdw_1.4.1-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
firebird_fdw_151.4.1el8.x86_64pigsty54.4 KiBfirebird_fdw_15-1.4.1-1PIGSTY.el8.x86_64.rpm
firebird_fdw_151.4.1el8.aarch64pigsty52.5 KiBfirebird_fdw_15-1.4.1-1PIGSTY.el8.aarch64.rpm
firebird_fdw_151.3.0el8.aarch64pgdg49.0 KiBfirebird_fdw_15-1.3.0-1.rhel8.aarch64.rpm
firebird_fdw_151.4.1el9.x86_64pgdg53.8 KiBfirebird_fdw_15-1.4.1-3PGDG.rhel9.7.x86_64.rpm
firebird_fdw_151.4.1el9.x86_64pigsty54.9 KiBfirebird_fdw_15-1.4.1-1PIGSTY.el9.x86_64.rpm
firebird_fdw_151.3.0el9.x86_64pgdg52.1 KiBfirebird_fdw_15-1.3.0-1.rhel9.x86_64.rpm
firebird_fdw_151.4.1el9.aarch64pgdg52.8 KiBfirebird_fdw_15-1.4.1-3PGDG.rhel9.7.aarch64.rpm
firebird_fdw_151.4.1el9.aarch64pigsty53.9 KiBfirebird_fdw_15-1.4.1-1PIGSTY.el9.aarch64.rpm
firebird_fdw_151.4.0el9.aarch64pgdg52.6 KiBfirebird_fdw_15-1.4.0-1PGDG.rhel9.aarch64.rpm
firebird_fdw_151.3.0el9.aarch64pgdg51.0 KiBfirebird_fdw_15-1.3.0-1.rhel9.aarch64.rpm
postgresql-15-firebird-fdw1.4.1d12.x86_64pigsty141.2 KiBpostgresql-15-firebird-fdw_1.4.1-1PIGSTY~bookworm_amd64.deb
postgresql-15-firebird-fdw1.4.1d12.aarch64pigsty138.1 KiBpostgresql-15-firebird-fdw_1.4.1-1PIGSTY~bookworm_arm64.deb
postgresql-15-firebird-fdw1.4.1d13.x86_64pigsty141.4 KiBpostgresql-15-firebird-fdw_1.4.1-1PIGSTY~trixie_amd64.deb
postgresql-15-firebird-fdw1.4.1d13.aarch64pigsty138.2 KiBpostgresql-15-firebird-fdw_1.4.1-1PIGSTY~trixie_arm64.deb
postgresql-15-firebird-fdw1.4.1u22.x86_64pigsty170.2 KiBpostgresql-15-firebird-fdw_1.4.1-1PIGSTY~jammy_amd64.deb
postgresql-15-firebird-fdw1.4.1u22.aarch64pigsty168.6 KiBpostgresql-15-firebird-fdw_1.4.1-1PIGSTY~jammy_arm64.deb
postgresql-15-firebird-fdw1.4.1u24.x86_64pigsty144.7 KiBpostgresql-15-firebird-fdw_1.4.1-1PIGSTY~noble_amd64.deb
postgresql-15-firebird-fdw1.4.1u24.aarch64pigsty143.5 KiBpostgresql-15-firebird-fdw_1.4.1-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
firebird_fdw_141.4.1el8.x86_64pigsty54.5 KiBfirebird_fdw_14-1.4.1-1PIGSTY.el8.x86_64.rpm
firebird_fdw_141.2.3el8.x86_64pgdg151.7 KiBfirebird_fdw_14-1.2.3-2.rhel8.x86_64.rpm
firebird_fdw_141.2.3el8.x86_64pgdg151.6 KiBfirebird_fdw_14-1.2.3-1.rhel8.x86_64.rpm
firebird_fdw_141.2.2el8.x86_64pgdg151.4 KiBfirebird_fdw_14-1.2.2-1.rhel8.x86_64.rpm
firebird_fdw_141.4.1el8.aarch64pigsty52.5 KiBfirebird_fdw_14-1.4.1-1PIGSTY.el8.aarch64.rpm
firebird_fdw_141.3.0el8.aarch64pgdg49.1 KiBfirebird_fdw_14-1.3.0-1.rhel8.aarch64.rpm
firebird_fdw_141.4.1el9.x86_64pgdg53.8 KiBfirebird_fdw_14-1.4.1-3PGDG.rhel9.7.x86_64.rpm
firebird_fdw_141.4.1el9.x86_64pigsty55.3 KiBfirebird_fdw_14-1.4.1-1PIGSTY.el9.x86_64.rpm
firebird_fdw_141.3.0el9.x86_64pgdg52.1 KiBfirebird_fdw_14-1.3.0-1.rhel9.x86_64.rpm
firebird_fdw_141.2.3el9.x86_64pgdg153.9 KiBfirebird_fdw_14-1.2.3-2.rhel9.x86_64.rpm
firebird_fdw_141.2.3el9.x86_64pgdg153.8 KiBfirebird_fdw_14-1.2.3-1.rhel9.x86_64.rpm
firebird_fdw_141.4.1el9.aarch64pgdg52.8 KiBfirebird_fdw_14-1.4.1-3PGDG.rhel9.7.aarch64.rpm
firebird_fdw_141.4.1el9.aarch64pigsty54.0 KiBfirebird_fdw_14-1.4.1-1PIGSTY.el9.aarch64.rpm
firebird_fdw_141.4.0el9.aarch64pgdg52.7 KiBfirebird_fdw_14-1.4.0-1PGDG.rhel9.aarch64.rpm
firebird_fdw_141.3.0el9.aarch64pgdg51.0 KiBfirebird_fdw_14-1.3.0-1.rhel9.aarch64.rpm
firebird_fdw_141.2.3el9.aarch64pgdg152.3 KiBfirebird_fdw_14-1.2.3-3.rhel9.aarch64.rpm
postgresql-14-firebird-fdw1.4.1d12.x86_64pigsty141.0 KiBpostgresql-14-firebird-fdw_1.4.1-1PIGSTY~bookworm_amd64.deb
postgresql-14-firebird-fdw1.4.1d12.aarch64pigsty138.0 KiBpostgresql-14-firebird-fdw_1.4.1-1PIGSTY~bookworm_arm64.deb
postgresql-14-firebird-fdw1.4.1d13.x86_64pigsty141.4 KiBpostgresql-14-firebird-fdw_1.4.1-1PIGSTY~trixie_amd64.deb
postgresql-14-firebird-fdw1.4.1d13.aarch64pigsty138.2 KiBpostgresql-14-firebird-fdw_1.4.1-1PIGSTY~trixie_arm64.deb
postgresql-14-firebird-fdw1.4.1u22.x86_64pigsty169.4 KiBpostgresql-14-firebird-fdw_1.4.1-1PIGSTY~jammy_amd64.deb
postgresql-14-firebird-fdw1.4.1u22.aarch64pigsty167.9 KiBpostgresql-14-firebird-fdw_1.4.1-1PIGSTY~jammy_arm64.deb
postgresql-14-firebird-fdw1.4.1u24.x86_64pigsty144.7 KiBpostgresql-14-firebird-fdw_1.4.1-1PIGSTY~noble_amd64.deb
postgresql-14-firebird-fdw1.4.1u24.aarch64pigsty143.9 KiBpostgresql-14-firebird-fdw_1.4.1-1PIGSTY~noble_arm64.deb

Source

pig build pkg firebird_fdw;		# build rpm/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 firebird_fdw;		# install via package name, for the active PG version

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

Create this extension with:

CREATE EXTENSION firebird_fdw;

Usage

firebird_fdw: Foreign data wrapper for Firebird

Create Server

CREATE EXTENSION firebird_fdw;

CREATE SERVER firebird_server FOREIGN DATA WRAPPER firebird_fdw
  OPTIONS (address 'localhost', database '/path/to/database.fdb');

Server Options: address (default localhost), port (default 3050), database (required, path to Firebird database file), updatable (default true), disable_pushdowns (disable WHERE clause pushdown), quote_identifiers, implicit_bool_type (enable integer-to-boolean conversion), batch_size (PostgreSQL 14+).

Create User Mapping

CREATE USER MAPPING FOR CURRENT_USER SERVER firebird_server
  OPTIONS (username 'sysdba', password 'masterke');

Create Foreign Table

CREATE FOREIGN TABLE fb_test (
  id smallint,
  val varchar(2048)
)
SERVER firebird_server
OPTIONS (table_name 'fdw_test');

With column name mapping:

CREATE FOREIGN TABLE fb_mapped (
  id smallint OPTIONS (column_name 'test_id'),
  val varchar(2048) OPTIONS (column_name 'test_val')
)
SERVER firebird_server
OPTIONS (table_name 'fdw_test');

With a custom query (read-only):

CREATE FOREIGN TABLE fb_query (
  id smallint,
  val varchar(2048)
)
SERVER firebird_server
OPTIONS (query $$ SELECT id, val FROM fdw_test WHERE id > 10 $$);

Table Options: table_name, query (mutually exclusive with table_name, read-only), updatable, estimated_row_count, quote_identifier, batch_size.

Column Options: column_name, quote_identifier, implicit_bool_type.

Import Foreign Schema

IMPORT FOREIGN SCHEMA someschema
  FROM SERVER firebird_server
  INTO public
  OPTIONS (import_views 'true', verbose 'true');

Import Options: import_not_null (default true), import_views (default true), updatable, verbose.

The schema parameter has no particular meaning in Firebird and can be set to any value.

CRUD Operations

SELECT * FROM fb_test WHERE id > 5;
INSERT INTO fb_test VALUES (10, 'new record');
UPDATE fb_test SET val = 'updated' WHERE id = 10;
DELETE FROM fb_test WHERE id = 10;
Last updated on