Программы для восстановления Firebird: сравнение
Данные из повреждённой базы Firebird возвращают инструменты трёх видов. Делают они разное, и их можно применять по очереди: начните со штатных средств движка, на копии файла.
| gfix + gbak | IBSurgeon FirstAID | fbrescue | |
|---|---|---|---|
| Что делает | проверяет и помечает повреждённые записи (gfix -mend), затем бэкап и восстановление через движок |
чинит файл на месте («direct fix») или извлекает данные в новую базу с той же структурой | выгружает данные (CSV, SQL INSERT, JSON Lines) и описания таблиц, без движка |
| Меняет файл | gfix -mend — да |
direct fix — да | никогда: только чтение |
| Что получаете | всю базу: индексы, триггеры, процедуры, пользователей | починенную базу или её данные | таблицы и строки; индексы, триггеры и процедуры создаются заново |
| Когда останавливается | на первой записи или странице, которую не может прочитать движок | — | не останавливается: пропускает и перечисляет то, что не прочитал |
| Версии Firebird | версия сервера | Firebird 1.0–5.0, InterBase 4.0–2020 | Firebird 2.5–5.0 |
| Платформы | везде, где работает Firebird | Windows 7 и новее (файлы с Linux-серверов копируются) | Windows, Linux, macOS; один бинарник, Firebird не нужен |
| Интерфейс | командная строка | графический | командная строка, JSON для скриптов |
| Цена | бесплатно, входит в Firebird | бесплатный просмотр; лицензия на базу для починки (от $199 за 3 базы)¹ | бесплатно, лицензия MIT |
| Исходный код | открыт | закрыт | открыт, опубликован процент восстановления |
¹ По странице FirstAID на сайте IBSurgeon, октябрь 2026. Для тяжёлых случаев у IBSurgeon есть ещё и услуга восстановления.
Что выбрать
- Всегда сначала gfix и gbak, на копии. Если
gbak -b -ig -gпрошёл, восстановленная база полная — со всем, что знает движок. Порядок действий — на странице восстановления. - fbrescue — когда gbak останавливается, когда вы работаете в Linux или macOS, когда база не открывается вовсе или нужно быстро понять, что вообще можно спасти.
fbrescue scanпокажет повреждения по таблицам,exportвыгрузит строки, не трогая файл. Это бесплатно, так что попробовать на копии ничего не стоит. - IBSurgeon FirstAID — когда нужна сама база, починенная на месте, а не выгрузка данных. А также для InterBase и Firebird до версии 2.5 или когда нужен коммерческий инструмент с поддержкой и услугой восстановления.
Инструменты не исключают друг друга: fbrescue никогда не пишет в файл, поэтому его можно запустить на копии до или после любой другой попытки.