Что это значит

Один из процессов базы аварийно завершился. PostgreSQL в таком случае обрывает все сессии (terminating connection because of crash of another server process), перечитывает журнал и поднимается заново. Пока идёт восстановление, новым подключениям отвечает the database system is in recovery mode. Обычно это занимает от секунд до нескольких минут.

Самая частая причина на Linux: ядро убило процесс базы из-за нехватки памяти. В логе это строка server process (PID 123) was terminated by signal 9: Killed.

Как проверить

grep -E "terminated by signal|was terminated" $PGDATA/log/*.log | tail
dmesg -T | grep -i -E "out of memory|killed process" | tail

Запись ядра Out of memory: Killed process ... (postgres) подтверждает нехватку памяти. Для контейнера: docker inspect -f '{{.State.OOMKilled}}' <контейнер>.

Что сделать

  1. Подождать окончания восстановления. Сервисы RX переподключатся сами.
  2. Найти, кто съел память: слишком большой work_mem при многих соединениях, тяжёлый запрос, соседний сервис на том же сервере.
  3. Пересчитать настройки памяти. Грубая проверка: shared_buffers плюс max_connections × work_mem не должны превышать память сервера.
  4. Для сервера только под базу поставить vm.overcommit_memory = 2, чтобы запрос получал отказ вместо убийства процесса.

Настройки памяти под ваш сервер считает калькулятор PostgreSQL.