Top.Mail.Ru
Меню
Каталог Программы 1С Опыт и отзывы Услуги Компания Интересное Контакты

Ошибка PostgreSQL FATAL: the database system is in recovery mode

Основатель и генеральный директор компании MoscowSoft, Сорокин Сергей
Сорокин Сергей, Генеральный директор MoscowSoft  01.07.2026 Актуальность проверена: 01.07.2026   5 мин.
Подобрать перенос данных 1С

Специализируемся на переносах данных 1С с 2015г.

Подобрать перенос данных 1С >>

Интеграция 1С с маркетплейсами

Специализируемся на интеграциях 1С с маркетплейсами с 2021г.

Изучить продукты >>

Содержание

Сообщение об ошибке FATAL: the database system is in recovery mode в PostgreSQL означает, что сервер базы данных в данный момент находится в режиме восстановления после аварийного завершения или перезапуска. В таком состоянии PostgreSQL не допускает новых подключений к базе. Для пользователей эта ситуация может стать серьёзным препятствием, поэтому важно быстро выявить причины сбоя и устранить их. В этой статье мы разберём распространённые причины появления этой ошибки, способы диагностики и практические шаги для восстановления работоспособности PostgreSQL.

Краткая рекомендация MoscowSoft"

Если при попытке зайти в базы 1С после какого-то неожиданного события, например, перезапуска сервера СУБД, вы получаете ошибку "FATAL: the database system is in recovery mode", проверьте, есть ли место на диске, где хранятся базы PostgreSQL, есть ли место на диске операционной системы. Есть ли свободная оперативная память. Если все хорошо, посмотрите каталог logs внутри каталога PostgreSQL. В самом новом файле этого каталоге самые последние записи будут выглядеть примерно так:

...
2026-06-13 09:33:40.588 MSK [9192] FATAL: the database system is in recovery mode
2026-06-13 09:33:40.594 MSK [10452] FATAL: the database system is in recovery mode
2026-06-13 09:33:40.609 MSK [13752] FATAL: the database system is in recovery mode
2026-06-13 09:33:40.618 MSK [8468] FATAL: the database system is in recovery mode
2026-06-13 09:33:40.624 MSK [12572] FATAL: the database system is in recovery mode
2026-06-13 09:33:40.637 MSK [7632] FATAL: the database system is in recovery mode

Так вот, если с ресурсами на сервере СУБД все хорошо, то рекомендация при виде таких сообщений в логах будет простая - подождать. Происходит восстановление рабочего состояния PostgreSQL. Чем больше у вас файлов баз данных, тем дольше будет такой процесс проходить. По нашей практике - до 30 минут может занимать.

Распространенные причины ошибки the database system is in recovery mode

Сообщение об ошибке “the database system is in recovery mode” возникает, когда сервер PostgreSQL после сбоя или специальной операции находится в процессе восстановления. Основные причины включают:

Как определить причину

Чтобы найти конкретную причину перехода сервера в recovery mode, следует проверить логи PostgreSQL и состояние системы:

  • Изучите логи сервера. Журналы PostgreSQL обычно находятся в каталоге data/pg_log или /var/log/postgresql. Посмотрите записи перед сообщением FATAL: там могут быть ошибки вида «Out of memory», «No space left on device», «PANIC» или сообщения об аварийной остановке. Это даст подсказку о том, что произошло.
  • Проверьте дисковое пространство. С помощью команды системы (например, df -h) убедитесь, что на дисках достаточно свободного места. Если диск заполнен, база может не запуститься. Для оценки того, какие базы данных занимают больше всего места, выполните SQL-запрос ниже.
  • Выполните SQL-запрос для оценки размера баз данных. В pgAdmin или через psql запустите этот запрос. Он покажет имена баз и их размеры в удобочитаемом формате:
    
    		SELECT
    		pg_database.datname,
    		pg_size_pretty(pg_database_size(pg_database.datname)) AS size
    		FROM pg_database
    		ORDER BY pg_database_size(pg_database.datname) DESC;
  • Проверьте режим сервера. Выполните запрос SELECT pg_is_in_recovery();. Если он вернёт true, значит сервер в режиме recovery (например, как реплика). Также можно проверить наличие файлов recovery.conf или standby.signal в каталоге данных — это указывает, что сервер запущен как standby.
  • Проверьте память и нагрузку. Если в логах встречаются сообщения «Out of memory: Kill process postgres», система завершила процесс из-за нехватки памяти. Проверьте текущее потребление памяти (команда free -m), загрузку CPU и сообщения ОС (команда dmesg или /var/log/syslog) на предмет OOM killer.

Что делать для исправления ошибки the database system is in recovery mode

Выявив причину сбоя, приступайте к её устранению:

Вывод и рекомендации

Ошибка FATAL: the database system is in recovery mode обычно указывает на серьёзный сбой сервера или нехватку ресурсов. Наиболее вероятные причины — переполненный диск, нехватка памяти или аварийное завершение работы PostgreSQL. Чтобы восстановить работу, сначала найдите корень проблемы (анализ логов, проверка свободного места, статус репликации), затем примените соответствующие меры: добавьте ресурсы, очистите место или восстановите данные из бэкапа. Как правило, после устранения причины достаточно перезапустить службу — и сервер успешно завершит процедуру восстановления и начнёт принимать подключения.

Подписывайтесь на рассылку MoscowSoft для получения свежих статей по PostgreSQL и . Ознакомьтесь с другими материалами на сайте, например, с обзором по резервному копированию и восстановлению баз . Если остались вопросы или нужна помощь в администрировании, задавайте их нашим специалистам в комментариях или службе поддержки.

MoscowSoft логотип

Подпишитесь на телеграм-канал MoscowSoft!
QR-код (ссылка приглашение) в канал MoscowSoft

https://t.me/MoscowSoft

Публикуем:
- инструкции и советы по разработке на 1С;
- рекомендации по интеграции 1С;
- бесплатно делимся своими обработками;
- публикуем секретные спецпредложения только для подписчиков.

Возврат к списку