Firebird is a relational database offering many ANSI SQL standard features that runs on Linux, Windows, and a variety of Unix platforms. Firebird offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers.
Firebird is a fully featured and powerful RDBMS. It can handle databases from just a few KB to many Gigabytes with good performance and almost free of maintenance!
Below is a list of some of the Firebird's major features:
- Full support of Stored Procedures and Triggers
- Full ACID compliant transactions
- Referential Integrity
- Multi Generational Architecture
- Very small footprint
- Fully featured internal language for Stored Procedures and Triggers (PSQL)
- Support for External Functions (UDFs)
- Little or no need for specialized DBAs
- Almost no configuration needed
- Large user community
- Optional single file embedded version
- Dozens of third party tools
- Careful writes - fast recovery, no need for transaction logs!
- Many ways to access your database
- Native support for all major operating systems
- Incremental Backups
- 64bits builds available
- Full cursor implementation in PSQL
- Monitoring tables
- Connection and Transaction Triggers
- Temporary Tables
* New context variables have been added to the SYSTEM namespace to retrieve more information about the current connection and current transaction. The added variables: SYSTEM::CLIENT_PID and SYSTEM::CLIENT_PROCESS for the current connection, SYSTEM::LOCK_TIMEOUT and SYSTEM::READ_ONLY for the current transaction.
* Some limits have increased:
- The maximum number of connections on Windows for Superserver and Superclassic has been raised from 1024 to 2048 connections.
- The maximum number of input parameters for external functions (UDFs) has increased to 15.
* Error reporting improvements, including:
- More details are now reported for “object in use” errors.
- The relation name is now added to the text of validation constraint error messages, to help identify the error context.
- Error reporting for index and constraint violations has been extended to include the problematic key value.
* Physical backup (using ALTER DATABASE BEGIN/END BACKUP or the nBackup utility) was improved to speed up extension of the main database file when backup state changes from stalled to merge.
- Contention for the allocation table lock while a database is in the stalled physical backup state has been reduced.
- Faster file growth has been enabled on Linux systems that support fallocate().
- Attachments no longer block others when the allocation table is being read for the first time.
* Execution of a SET STATISTICS INDEX statement no longer blocks or slows down concurrent attachments.
* The scan for limbo transactions at the end of a sweep has been improved.
* Support for the UPDATE OR INSERT statement and the RETURNING clause have been implemented for Embedded SQL (ESQL).