Chapter 3. firebird.conf
The firebird.conf configuration file serves three purposes:
Configuring the Firebird server process
Configuring client connections made by the Firebird server
For example, for connections made with
EXECUTE STATEMENT … ON EXTERNALConfiguring client connections made by other processes.
This is the general case of the second item.
The third item does have a big caveat.
The firebird.conf in the Firebird installation directory will not configure all client connections, only those client connections which
use
fbclient.dll/libfbclient.so, andwhere the fbclient library actually reads that
firebird.conffile.
If your application uses its own fbclient, it will read and use the client configuration in the firebird.conf in the same directory as that DLL (Windows), or the directory above it (Linux and other OSes), if it exists;
it will not use the firebird.conf in a Firebird installation directory1.
The configuration used by a client can also be overridden using the isc_dpb_config DPB item or isc_spb_config SPB item.
Its contents are key-value pairs as used in firebird.conf, and their values take precedence over the client configuration in firebird.conf.
Some server-side configuration items in firebird.conf can also be configured per database in databases.conf.
The value in databases.conf takes precedence over the value in firebird.conf, which takes precedence over the default value.
If a value is user-configurable (e.g. through the database parameter buffer (DPB) or a SET statement), that value will generally take precedence for the current connection, though in some cases the server configuration may establish an upper limit (e.g. for timeouts).
The same goes for some client-side configurations items, although then the client must use the defined alias to apply those configuration options.
Since Firebird 4.0, it is possible to query configuration settings of the current database for the current connection from the RDB$CONFIG virtual table:
select * from RDB$CONFIG3.1. firebird.conf syntax
All configuration items in firebird.conf are key-value pairs with only a simple value:
Syntax of a configuration item in firebird.conf
key-name = simple-value
For example:
Example of a configuration item in firebird.conf
DefaultDbCachePages = 2048