Firebird Documentation IndexFirebird 3 Quick Start → Installing Firebird
Firebird Home Firebird Home Prev: The Firebird licensesFirebird Documentation IndexUp: Firebird 3 Quick StartNext: Default disk locations

Installing Firebird

Installation kits
Installing the Firebird server
Installing multiple servers
Testing your installation
Performing a client-only install

The instructions given below for the installation of Firebird on Windows and Linux should be sufficient for the vast majority of cases. However, if you experience problems or if you have special needs not covered here, be sure to read the Release Notes. This is especially important if you are upgrading from a previous version or if there are remnants of an old (and maybe long gone) InterBase or Firebird installation floating around your system (DLLs, Registry entries, environment variables...)

Installation kits

At the Firebird website – – the installation kits have names like:

Firebird-3.0.0.bbbbb_p_x64.exe (Windows executable installer) (Windows zip kit for manual installation)

Firebird-3.0.0.bbbbb_p_Win32.exe (Windows executable installer, 32 bits)

Firebird-3.0.0.bbbbb-p.amd64.rpm (Linux RPM kit)

Firebird-3.0.0.bbbbb-p.amd64.tar.gz (Linux compressed tarball)

Firebird-3.0.0.bbbbb-p.i686.rpm (Linux RPM kit, 32 bits)

Firebird-3.0.0.bbbbb-x86_64.pkg (Mac OS-X 64-bit package)


...where bbbbb is the build number (32483 for the initial 3.0.0 release) and p the packaging number (usually 0 or another low one-digit number).

Firebird 3 packages will also undoubtedly wind up in various Linux distributions and their online repositories. These will have their own naming schemes.

Installing the Firebird server

Before installation

It is almost always advisable to uninstall any previous Firebird installations completely (after you've read the next paragraph!) and also hunt the Windows system dirs for old copies of gds32.dll and fbclient.dll. If you're using Linux, the uninstall scripts should have removed any copies and/or symlinks in /usr/lib[64], but it won't hurt to look if anything named libfbclient.* or libgds.* is still lying around.

Furthermore, you should be aware that Firebird 3 won't open databases that were created by older versions. So before taking down your existing setup, you should back up all your databases in order that you can restore them later under Firebird 3.

You may also want to back up your old security database security2.fdb. Firebird 3 comes with an SQL script security_database.sql (located in misc/upgrade/security) that will upgrade the old security database to Firebird 3, preserving all information except SYSDBA's and except any passwords. For more information, see Compatibility Issues :: Upgrading a v.2.x Security Database in the Firebird 3 Release Notes.

Installation drives

The Firebird server – and any databases you create or connect to – must reside on a hard drive that is physically connected to the host machine. You cannot locate components of the server, or any database, on a mapped drive, a filesystem share or a network filesystem. (Well, you can, but you shouldn't, and this technique isn't covered here.)


You can mount a read-only database on a CD-ROM drive but you cannot run Firebird server from one.

Installation script or program

Although it is possible to install Firebird by a filesystem copying method – such as untarring a snapshot build or decompressing a structured .zip archive – it is strongly recommended that you use the distributed release kit (.exe for Windows, .rpm for Linux), especially if this is the first time you install Firebird. The Windows installation executable, the Linux rpm program and the script in the official .tar.gz for various Posix platforms all perform some essential setup tasks. Provided you follow the installation instructions correctly, there should be nothing for you to do upon completion but log in and go!

Server modes

Some installers ask you to choose between Classic, SuperClassic and Superserver mode. What are they?

  • Classic mode (aka MultiProcess) involves a single listening process that spawns off an additional process for each client connection. Using a locking mechanism, it allows shared connections to database files.

  • SuperClassic (ThreadedShared) is a single server process. Client connections are handled by separate threads, each having their own database page cache. Other processes (e.g. embedded servers) may open the same database simultaneously (hence the Shared).

  • Superserver (ThreadedDedicated) is also a single server process with threads handling client connections. There is a single, common database page cache. The server requires exclusive access to each database file it opens (hence the Dedicated).

Each mode is fully stable and there is no reason to categorically prefer one to the other. Of course you may have your own specific considerations. When in doubt, just follow the installer default for now. Changing the server mode later can be done via the configuration file firebird.conf and requires a restart but not reinstallation. The server mode can even be configured per database (consult the Release Notes for details).


Users of Firebird 2.5 or earlier: please notice that as from Firebird 3, Superserver fully supports the use of multiple processors/cores out of the box, so lack of SMP support is no longer a reason to avoid it.

Installing on Windows

Make sure you run the installer program as Administrator (i.e. right-click on the executable and choose “Run as Administrator”) or you may run into permission problems later!

On Windows server platforms Firebird will run as a system service by default, but during installation you can also choose to let it run as an application. Don't do this unless you have a compelling reason.

The installer will also ask if you want to enable authorization for legacy (i.e. pre-3.0) Firebird clients. If security is a concern (as it should be), don't allow this or allow it only temporarily while you upgrade your existing clients to Firebird 3.0. The legacy connection method sends passwords over the wire unencrypted; it also limits the usable length of the password to 8 characters.

During installation you have the option of providing a password for Firebird's superuser, SYSDBA. Firebird passwords may be up to 255 bytes long, but due to the nature of the hashing algorithm the “effective length” is around 20 bytes, so it's not very useful to enter a password that's much longer than that. Notice however that if you do enter such a password, you must supply it in its full length every time you connect – it won't work if you truncate it to the first 20 characters!

Use the Guardian?

The Firebird Guardian is a utility that monitors the server process and tries to restart it if it terminates abnormally. During a Windows install, you can opt to use the Guardian when running in SuperClassic or Superserver mode. However, since modern Windows systems have the facility to watch and restart services, there is no reason to use the Guardian if Firebird runs as a service (which it should).

The Guardian may be phased out in future versions of Firebird.

Installing on Linux and other Unix-like platforms

In all cases, read the Release Notes for the Firebird version you're going to install. There may be significant variations from release to release of any Posix operating system, especially the open source ones. Where possible, the build engineers for each Firebird version have attempted to document any known issues.

Aside from being packaged with the download kits, Release Notes for all officially released versions of Firebird can also be found at

If you have a Linux distribution that supports rpm installs, consult the appropriate platform documentation for instructions about using RPM Package Manager. In most distributions you will have the choice of performing the install from a command shell or through a GUI interface.

For Linux distributions that cannot process rpm programs, and for Unix flavours for which no .rpm kit is provided, use the .tar.gz kit. Quite often, installation is just a matter of untarring the archive and running In some cases, the Release Notes or packed Readmes may instruct you to edit the scripts and make some manual adjustments.

Installing multiple servers

Firebird allows the operation of multiple servers on a single machine. It can also run concurrently with Firebird 1.x or InterBase servers. Setting this up is not a beginner's task though. If you need to run multiple servers on the same machine, the second and subsequent servers must be installed and configured manually. They need to have different service names and should listen on different TCP/IP ports. The file install_windows_manually.txt in the doc subdir may be of help if you're doing this on Windows, but bear in mind that it was written for Firebird 2.1.

Also read the chapter Configuring the Port Service on Client and Server in the Firebird 1.5 (!) Release Notes:

Testing your installation

If you want to connect to your Firebird server across a network, then before testing the Firebird server itself you may want to verify that the server machine is reachable from the client at all. At this point, it is assumed that you will use the recommended TCP/IP network protocol for your Firebird client/server connections. (On Windows networks, NetBEUI is also supported.)

Pinging the server

The ping command – available on most systems – is a quick and easy way to see if you can connect to a server machine via the network. For example, if your server's IP address in the domain that is visible to your client is, go to a command shell on the client machine and type the command


substituting this example IP address with the IP address that your server is broadcasting. If you are on a managed network and you don't know the server's IP address, ask your system administrator. Of course you can also ping the server by its name, if you know it:

ping vercingetorix

If you are connecting to the server from a local client – that is, a client running on the same machine as the server – you can ping the virtual TCP/IP loopback server:

ping localhost –or– ping

If you have a simple network of two machines linked by a crossover cable, you can set up your server with any IP address you like except (which is reserved for a local loopback server) and, of course, the IP address which you are using for your client machine. If you know the “native” IP addresses of your network cards, and they are different, you can simply use those.

Once you have verified that the server machine is reachable from the client, you can go on to the next step.

Making sure that the Firebird server is running

Most – but not all – installation packages start up the Firebird server as one of the final steps during installation, and also make sure that Firebird is started at every reboot.

After being launched, the Firebird server should be running:

On Linux or other Unix-like systems:

As a service.

On Windows server systems:

As a service or as an application. Service is default and highly recommended.

The following sections show you how to test the server on each platform.

Server check: Linux and other Unices

Use the top command in a command shell to inspect the running processes interactively. If a Firebird 3 server is running, you should see a process named firebird and possibly also fbguard (the Guardian process).

The following screen shows the output of top, restricted by grep to show only lines containing the string firebird:

paul@fili ~ $ top -b -n1 | grep [f]irebird
 7169 firebird  20   0   29668    992    560 S   0,0  0,0   0:00.00 fbguard
 7171 firebird  20   0  228160   5876   3048 S   0,0  0,1   0:00.01 firebird

As an alternative to top, you can use ps -ax or ps -aux and pipe the output to grep.

The process name is firebird regardless if Firebird is running in Superserver, Classic or SuperClassic mode. However, it is possible to configure a Classic-mode Firebird in such a way that it runs as a service under (x)inetd. In that case, you will only see a firebird process if a client connection has been made.

Another way of testing the server after installation is by starting a Firebird client (e.g. /opt/firebird/bin/isql) and connecting to a database or creating one. These operations are described later in this guide.

If it turns out that the server hasn't been started after all, you may need to do this manually, e.g. with /etc/init.d/firebird start or systemctl start firebird and systemctl enable firebird, depending on the type of Linux system and your Firebird installation package.

Server check: Windows, running as service

Open Control Panel -> Administrative Tools -> Services.

This illustration shows the Services applet display on Windows 7. The appearance may vary from one Windows server edition to another.

You should at least find the Firebird server in the services listing. The Guardian may or may not be running, depending on the choices you made during installation. If you didn't opt to start the server at the end of the installation process, you may do so now by right-clicking on the Firebird entry (or the Guardian) and choosing Start.

Server check: Windows, running as application

If Firebird is up and running as an application, it is represented by an icon in the system tray:

  • A green and grey server symbol if controlled by the Guardian;

  • A round yellow and black graphic if running standalone.

A flashing icon indicates that the server is in the process of starting up (or at least trying to do so). A red icon, or an icon with an overlying red stop sign, indicates that startup has failed.

One way to make 100% sure if the server is running or not is to press Ctrl-Alt-Del and look for the firebird process (and possibly fbguard) in the task list. You may need to check the box “Show processes of all users” for these processes to become visible.

On some occasions, you may need to start the Guardian or server once explicitly via the Start menu even if you opted for “Start Firebird now” at the end of the installation process. Sometimes a reboot is necessary.

You can shut the server down via the menu that appears if you right-click on the tray icon. Notice that this also makes the icon disappear; you can restart Firebird via the Start menu.


In Classic mode (but not SuperClassic!) a new process is launched for every connection, so the number of firebird processes will always equal the number of client connections plus one. Shutdown via the tray icon menu only terminates the first process (the listener). Other processes, if present, will continue to function normally, each terminating when the client disconnects from the database. Of course, once the listener has been shut down, new connections can't be made.

Performing a client-only install

Each remote client machine needs to have the client library – on Posix clients, fbclient.dll on Windows clients – that matches the release version of the Firebird server.

Firebird can install symlinks or copies named after the 1.0 libs (with the “old” InterBase names), to maintain compatibility with third-party products which need these files.

Some extra pieces are also needed for the client-only install.


At present, no separate installation program is available to install only the client pieces on a Windows machine. If you are in the common situation of running Windows clients to a Linux or other Unix-like Firebird server (or another Windows machine), you need to download the full Windows installation kit that corresponds to the version of Firebird server you install on your server machine.

Fortunately, once you have the kit, the Windows client-only install is a breeze. Just run the installation program and when you arrive at the “Select Components” screen, choose one of the client-only options from the drop-down list or uncheck the “Server Components” checkbox.

Linux and some other Posix clients

A small-footprint client install program for Linux clients is not available either. Additionally, some Posix flavours – even within the Linux constellation – have somewhat idiosyncratic requirements for filesystem locations. For these reasons, not all *x distributions for Firebird even contain a client-only install option.

For most Linux flavours, the following procedure is suggested for a manual Firebird client-only install. Log in as root for this.

  1. Look for (n being the patch version number) in /opt/firebird/lib on the machine where the Firebird server is installed. Copy it to /usr/lib on the client (or /usr/lib64 if both server and client are 64-bits).

  2. Create chained symlinks using the following commands:

    ln -s /usr/lib/ /usr/lib/

    ln -s /usr/lib/ /usr/lib/

    ...replacing 3.0.n with your version number, e.g. 3.0.0 or 3.0.4

    If you're running applications that expect the legacy libraries to be present, also create the following symlinks:

    ln -s /usr/lib/ /usr/lib/

    ln -s /usr/lib/ /usr/lib/

  3. Copy firebird.msg to the client machine, preferably into the /opt/firebird directory. If you place it somewhere else, create a system-wide permanent FIREBIRD environment variable pointing to the right directory, so that the API routines can locate the messages.

  4. Optionally copy some of the Firebird command-line tools – e.g. isql – to the client machine.

Instead of copying the files from a server, you can also pull them out of a Firebird tar.gz kit. Everything you need is located in the /opt/firebird tree within the buildroot.tar.gz archive that's packed inside the kit.

Prev: The Firebird licensesFirebird Documentation IndexUp: Firebird 3 Quick StartNext: Default disk locations
Firebird Documentation IndexFirebird 3 Quick Start → Installing Firebird