IBSurgeon library
Articles, guides, and references on Firebird performance, recovery, configuration, hardware, migration, encryption, and more.
Firebird 5
- Free book “Detailed New Features Of Firebird 5”: available as HTML and as PDF (119 pages).
- Data access methods used in Firebird, by D.Simonov and D.Yemanov
- Transferring BLOBs over the wire in Firebird, by D.Simonov
- Parallel Reading Of Data in Firebird 5
- New Optimizer Features in 5.0.1 (new, 21-Aug-2024)
- Practical Migration Guide to Firebird 5
Performance
- Using UUID in Firebird
- 15 Firebird Antipatterns (new!)
- 5 First Steps To Better Firebird Performance (or in PDF)
- 5 Primeiros Passos Para Melhorar o Performance do Firebird (em PDF)
- Configuration Calculator for Firebird
- Short Firebird database performance checklist (deprecated)
- 23 More Ways To Speed Up Firebird
- 45 Ways To Speed Up Firebird Database
- Optimized Firebird configuration files (deprecated, use Configuration Calculator for Firebird instead)
- How to make Firebird work 20% faster on Windows Server 2016 in less than 1 minute (deprecated - see 45 Ways To Speed Up Firebird Database instead)
- Using prefix date to speed up queries with DATE columns
- How to make Firebird consume a lot of memory? (article)
- Negative impact of indices to INSERT, UPDATE and DELETE performance in Firebird SQL (article)
- nbackup with switch -D ON does not work on ZFS
Transactions
- How Firebird Transactions work (article necessary for basic understanding of transactions)
- How to track deadlocks in Firebird (article)
Performance tests
- Simple INSERT/UPDATE/DELETE test (simple script, the 1st step in diagnosing performance problems)
- Quick estimation of disk speed with backup (article)
- Firebird OLTP-EMULator (official Firebird test)
- Firebird performance degradation: tests, myths, and truth - 1.7Tb, part 1 (article)
- More details about 1.7 Terabyte Firebird SQL database - 1.7Tb, part 2 (article)
- Tuning 1.7 Terabyte Firebird SQL database - 1.7Tb, part 3 (article)
- 1 Tb Firebird database: a preliminary report (article)
Firebird Performance Newsletter
- Issue 1: Firebird 4 vs Firebird 3 Write Performance, Choosing AWS EC2 instance for Firebird, etc (articles)
Firebird database performance optimization service
- Performance optimization services: audit and complete optimization
- Questionnaire: Required information for Firebird database performance optimization
Replication
- How to create and fill artificial primary keys (often needed for replication) (article)
- How to setup Firebird replication with HQbird
Recovery
In case of a heavy corruption
Light corruptions, and general information about corruptions and their fixing
- How to repair a corrupt Firebird database? (practical steps)
- Short explanation of gfix.exe output (short article)
- How to find and delete duplicate records in Firebird database (practical steps)
- “Cannot commit index” or how to pump data from partially restored (inconsistent) database (!)
- Fighting Petya: our experience with retrieving data from the Firebird database files encrypted by ransomware crypto-viruses
- Common InterBase/Firebird errors caused by corruptions and their recovery chances
- How to protect Firebird databases from ransomware?
- Internal gds software consistency check - full list of serious Firebird/InterBase errors
- How to check RAM and avoid database corruptions
- How to quickly check RAM on Linux
- Internal gds software consistency check - how to recover Firebird/InterBase databases (2014)
- InterBase and Firebird Recovery Guide (chapter from “The InterBase World” book)
Encryption of Firebird databases
- 1-step encryption installer for Firebird (in English) (Portuguese: README)
- How Firebird Database Encryption Works
- Demo package with sources and step-by-step instructions of Firebird database encryption plugin
- Connect to encrypted database with developer tools
Hardware & Cloud
- Choosing the best AWS EC2 instance for the maximum Firebird write performance
- Firebird Hardware Guide (!)
- How to install a Samsung NVMe SSD driver on Windows Server
- Fast, Furious, and Cheap: server with good-enough performance for small business database for less than US$1000 (deprecated)
Backups and Restores
- Quick Guide for Gbak Backup-Restore (15 minutes to read, hours to save)
- Sending HQbird backups to Amazon S3
- 12 Common Mistakes while Backing Up Databases
Troubleshooting
- How to configure Firebird crash and hang dumps collection on Windows
- How to configure Firebird crash and hang dumps on Linux
- Errors in Firebird.log
- How to crash Firebird server
Installation and Configuration
- FirebirdSQL: internal files, temporary files, and environment variables (!)
- How to install Firebird 3.0 and 4.0 on Linux (!)
- Installing Firebird 3 on modern Linux versions: CentOS 8 and Ubuntu 19
- How to use instreg.exe and instsvc.exe (command line tools for Firebird installation on Windows)
- How to make Firebird 3 connect like 2.5 with embedded connection string
- How to enable or disable connection protocols for Firebird on Windows
- How to enable Firebird to work through network protocol at CentOS 6.x
- fb_lock_print parameters explained
- Firebird 3 Setup Command line parameters
- Firebird 3 Database Server installation
- Firebird Connection Strings Cheat Sheet
Migration
- Practical Migration Guide to Firebird 5 (free guide, 41 pages)
- Migration Video 1: The fastest way to migrate to Firebird 5
- Migration Video 2: Possible problems during migration
- Migration Video 3: How to resolve problems
- Migration Webinar: Questions and Answers about migration
- Migration Framework for Firebird (paid tool for automatic migration of Firebird databases)
- Short Firebird 4 Migration Guide, also in PDF (free guide, 24 pages)
- Fast conversion of Firebird 2.5 databases to Firebird 3.0 (article)
- Migration Guide to Firebird 4 (paid book, by C.Cantu, 206 pages)
- Performance Comparer for Firebird (free tool, by C.Cantu, v1.0.2)
- Differences between Firebird and InterBase (article)
- All Firebird and InterBase On-Disk-Structure (ODS) versions (article)
- How to migrate (copy) users from security2.fdb (Firebird 2.5) to security3.fdb (Firebird 3.0) (article)
- List of known incompatibilities between Firebird v 2.x and 30
- Migration service (service for complex databases’ migrations)
Basics
- Data types
- Tables. Primary keys and generators
- Database constraints in Firebird and InterBase
- Indices (InterBase and Firebird)
- Views (InterBase and Firebird)
- Database physical structure (InterBase and Firebird)
Useful pieces around Firebird: tips, tricks, jokes, and how-to
- Firebird Stored Procedure to split line with delimiters to recordset
- Firebird 3.0 users with the same names but different passwords (!)
- How to “inflate” Firebird database with temporary blobs (!)
- How to estimate number of records in the table using statistics value of the unique index
- How to execute SQL command with isql in command prompt
- How to determine Firebird architecture with SQL query? (!)
- How to put 29 characters into VARCHAR(10)
- Built-in Firebird 3.0 functions (SDF aka Server Defined Functions)
- All issues of “The InterBase and Firebird Developer Magazine” (!)
- Firebird Conference 2014 report
- Firebird GUI Tools
- Firebird 2.5: Autonomous Transactions
- Alias handling and ambiguous field detecting in Firebird 2.0
- Firebird Index Structure for Firebird 2.0 (ODS 11 and higher)
- The differences between VARCHAR and INTEGER fields in keys
- Space allocation in Firebird 2.1 and higher
- Fixes in Firebird 2.5 regarding connection string charset
- Maximum table size in InterBase (before version 2009)
- Firebird 2.0 garbage collector
IBSurgeon Tools Guides
- HQbird User Guide (and in PDF)
- FirstAID Recovery Guide: English, Russian, Portuguese
- FBScanner User Guide (outdated): English, Portuguese
Database Analyst (ex-IBAnalyst) optimization articles