Firebird
PostgreSQL

Firebird / Interbase to PostgreSQL Converter

Move Firebird or Interbase databases into PostgreSQL, Amazon RDS, or Amazon Aurora — or sync data the other way. Schema conversion, type mapping, and optional two-way sync.

A Firebird .fdb database carries Dialect-3 schema, generators, BLOB SUB_TYPE fields, and PSQL stored procedures — none of which PostgreSQL speaks natively.

Most teams take the Firebird → PostgreSQL path to reach a maintained, cloud-managed engine with a much larger extension ecosystem. The row copy is the small part of the job. The engineering cost is concentrated in three places: type mapping, identity / sequence rewiring, and translating PSQL routines into PL/pgSQL.


What DBConvert does on this path: handles Firebird-to-PostgreSQL migration as a guided desktop workflow:

  • Connects to Firebird 2.5 / 3.0 / 4.0 and InterBase sources, including .fdb and .gdb database files.
  • Maps source metadata to PostgreSQL tables, columns, indexes, primary keys, and foreign keys, with per-table type-mapping review and generator-to-sequence rewiring suggestions.
  • Writes to PostgreSQL, Amazon RDS / Aurora for PostgreSQL, Azure Database for PostgreSQL, Google Cloud SQL for PostgreSQL, or Supabase.
  • Saves the job as a repeatable session so test migrations can be rerun before the final cutover; DBSync keeps both sides aligned during a staged cutover.

What it does not do: Firebird PSQL stored procedures, triggers, computed-by columns, and event handlers do not translate to PL/pgSQL automatically. The converter flags them rather than silently dropping them — the rewrite is project work, not part of the row copy.

Which tool: DBConvert or DBSync?

DBConvert for Firebird → PostgreSQL

One-time migration or a repeatable saved session. Use it when PostgreSQL is becoming the system of record and you need schema conversion, type mapping, generator-to-sequence rewiring suggestions, and cloud target support in a single desktop workflow.

DBSync for Firebird ↔ PostgreSQL

Staged cutover. Use it when the Firebird application must keep running while PostgreSQL is populated, tested, or read by a new application or reporting layer. Review synchronization concepts.

Need more context? Compare DBConvert and DBSync side by side →

How DBConvert handles the Firebird → PostgreSQL differences

DBConvert handles the table-level migration in the wizard: metadata, identity policy, BLOB handling, charset, and transfer. Firebird PSQL remains a separate rewrite track.

Generators and identity

Firebird generators become PostgreSQL SEQUENCE or GENERATED ... AS IDENTITY targets, with next values checked after the bulk load.

Domains and metadata

DBConvert can expand Firebird domains into concrete PostgreSQL column definitions or preserve domain objects when that fits the target schema policy.

BLOB and charset handling

Text BLOBs map to PostgreSQL text, binary BLOBs to bytea, and legacy source charsets are normalized to UTF8 during load.

Identifier policy

Quoted Firebird identifiers can be preserved or normalized for PostgreSQL. Pick the case policy before application testing starts.

Procedural code boundary

DBConvert migrates tables, views, and foreign keys. Firebird PSQL procedures, triggers, computed-by columns, event handlers, and selectable procedures are rewritten manually in PL/pgSQL.

Type mapping checkpoints

Firebird PostgreSQL Notes
SMALLINT / INTEGER / BIGINT same Direct mapping.
NUMERIC(p,s) / DECIMAL(p,s) numeric(p,s) Direct.
FLOAT / DOUBLE PRECISION real, double precision Direct.
VARCHAR(n) / CHAR(n) varchar(n) or text Normalize source charset to UTF8.
BLOB SUB_TYPE 1 (text) text Charset to UTF8 on load.
BLOB SUB_TYPE 0 (binary) bytea Direct.
DATE / TIME / TIMESTAMP date, time, timestamp Use timestamptz only if the app needs TZ semantics.
BOOLEAN (Firebird 3.0+) boolean Direct.
GENERATOR / SEQUENCE SEQUENCE or IDENTITY column Rewire trigger-based key assignment.
DOMAIN CREATE DOMAIN or expand inline Most migrations expand inline.

DBConvert vs other Firebird → PostgreSQL routes

Free routes cover narrow slices: a staged foreign-table copy, a dump-and-load for tiny schemas, an open-source CLI built for a different source. They stop at the boundary where Firebird's generators, domains, BLOB SUB_TYPE fields, and PSQL routines need a PostgreSQL answer — which is most of the actual migration project.

Route Where it fits Where it falls short
firebird_fdw open-source PostgreSQL extension A technical team running a staged, controlled migration: create PostgreSQL tables by hand, populate them with INSERT ... SELECT from Firebird foreign tables, validate row counts, then cut over. Read-focused with caveats noted by the project itself; no automatic schema conversion, no type mapping (BLOB SUB_TYPE, identity, dialect), no PSQL translation, no review UI. You build the PostgreSQL schema, the conversions, and the cutover script yourself.
pgloader open-source CLI, PostgreSQL-side The default open-source PostgreSQL loader for MySQL, SQLite, SQL Server, dBase, and CSV sources. Strong fit when one of those is the source. Firebird is not a supported pgloader source. The PostgreSQL community wiki's "Converting from other databases" list points to dedicated converters for Firebird, not pgloader. If you arrived from a "pgloader Firebird" search, this is the gap — pgloader is the wrong tool for this direction.
gbak + isql + COPY free, vendor-native Tiny Firebird databases with no PSQL routines and no domain hierarchies. Hand-write the PostgreSQL DDL, dump rows to CSV with isql, then load with COPY FROM. You write every type-mapping decision (BLOB SUB_TYPEbytea / text, generator → sequence, dialect / case rules), every quoting fix, and every PSQL rewrite yourself. No review UI, no rerunnable session, no validation. Fragile fast on schemas with many tables, domains, or generators.
DBConvert / DBSync commercial desktop, Windows Desktop wizard for Firebird / InterBase → PostgreSQL with per-table type-mapping review, generator-to-sequence rewiring suggestions, saved sessions for repeated test migrations, scheduler, and CLI. Writes to PostgreSQL, Amazon RDS / Aurora for PostgreSQL, Azure Database for PostgreSQL, Google Cloud SQL, and Supabase. DBSync keeps both sides aligned during a staged cutover. Commercial license; desktop tool (Windows). PSQL procedures, triggers, computed-by columns, and event handlers do not translate to PL/pgSQL automatically — that is rewrite work either way.

The free routes do the data copy, not the migration. A Firebird-to-PostgreSQL project spends most of its time on BLOB SUB_TYPE mappings, generator-to-sequence rewiring, dialect / identifier-case decisions, and PSQL → PL/pgSQL translation. DBConvert puts each of those decisions in a reviewable wizard, saves the session so test loads are rerunnable, and adds DBSync when the Firebird source must keep running during the cutover. That is what the commercial license buys — not "data copy", which the free routes can already do for tiny schemas.

Supported versions

  • Firebird 2.x, 3.x, 4.x and InterBase
  • PostgreSQL 8.x through 17.x
  • Amazon RDS / Aurora for PostgreSQL, Azure Database for PostgreSQL, Google Cloud SQL, Supabase
  • PostgreSQL schemas (public, custom schemas)

Supported in this path

Source Firebird
Target PostgreSQL
Firebird 2.x, 3.x, 4.x InterBase PostgreSQL Amazon RDS for PostgreSQL Amazon Aurora PostgreSQL Azure Database for PostgreSQL Google Cloud SQL for PostgreSQL Supabase

Using Firebird to PostgreSQL Tools

When launching the DBConvert or DBSync application in GUI mode, it guides you through the steps to start database migration or synchronization:

1

Connect to Firebird source database

Specify the username/password and host/port parameters if your source database requires login credentials.

Connect to Firebird source database from DBConvert

Firebird source

Point DBConvert at a Firebird .fdb / .gdb file or a Firebird 2.5 / 3.0 / 4.0 server — Firebird source settings. Normalize the source charset to UTF8 before the load.

2

Connect to PostgreSQL destination database

Specify parameters for the destination database similar to the source, defining connection settings and username/password pairs.

Connect to PostgreSQL target database from DBConvert

PostgreSQL target

Use the PostgreSQL connection guide for local PostgreSQL, Amazon RDS / Aurora, Azure Database for PostgreSQL, Google Cloud SQL, or Supabase.

Next steps: configure, validate, run

After connecting source and target, the remaining steps are the same for every database pair:

  • Configure migration options — pick tables, fields, indices, views.
  • Issue detection — the built-in checker flags integrity problems before migration starts.
  • Execute — commit the job, monitor progress, save the session for reuse.
  • Schedule and CLI — rerun saved sessions on a schedule or from the command line.
Open the full guide

Steps 3–5, software features, command-line mode, scheduler, and system requirements.

See all features