Skip to content

Firebird Database Management in VS Code

Firebird is a relational database that grew out of Borland’s InterBase open-source release. It speaks standard SQL, has a small footprint, and ships with a rich PSQL stored-procedure language. DBCode connects to it over TCP using a pure-JavaScript implementation of the Firebird wire protocol — no native libraries to install.

Highlights:

  • Pure-JS connection — no native client library or JDBC bridge.
  • Server (TCP) mode: host + port + database path or alias, username/password.
  • Auth profiles with the command-provider, for sourcing credentials from password managers.
  • Full schema browser: tables, views, procedures, functions, sequences, domains, exceptions, and packages.
  • Engine-provided DDL for views and packages — the editor’s “Edit DDL” round-trips cleanly.
  • Mixed-case identifier round-tripping — Firebird folds unquoted names to uppercase like Oracle; the driver quotes mixed-case identifiers automatically.
  • Schema support detected at connect time: Firebird 6+ exposes user schemas (RDB$SCHEMAS) and the driver enables them; Firebird 5.x is treated as a single flat namespace.

The connection form asks for:

  • Host and Port (default 3050).
  • Database Path or Alias — an absolute path on the server (e.g. /var/lib/firebird/data/employee.fdb) or a configured alias. Firebird has no remote enumeration API, so the field is free-text.
  • Username / Password (default SYSDBA), or a configured command auth profile.
  • SQL Role (optional) for permission scoping — passed to node-firebird as role.
  • Character EncodingUTF8 by default; alternatives for legacy databases.
  • Embedded mode — requires the native Firebird client library; not pure-JS.
  • Backup / restore via the Services API.
  • DDL scripting for tables, procedures, functions, and triggers — the engine doesn’t expose a clean canonical form for those, and reconstructing it from system catalogs is fragile. Use the SQL editor to inspect or modify them.
  • Pre-5.0 servers — rejected at connect time. Firebird 5.0+ is the supported version floor.

Tested against:

  • firebirdsql/firebird:5 (Firebird 5.0.4) — schema-less, single flat namespace
  • firebirdsql/firebird:6-snapshot (Firebird 6.0 alpha) — with user schemas