Проблема

Обновление сервера RuBackup завершается ошибкой.

Диагностика

  • Убедиться, что производилось обновление пакетов сервера RuBackup с версии 2.7 до 2.8.
  • Проверить, что в качестве СУБД для служебной базы данных RuBackup используется PostgreSQL 18.
  • После завершения запуска утилиты rb_init с ошибками проверить содержимое файла /opt/rubackup/log/update.log на наличие сообщений вида:
    [2026-01-15 13:30:05] Error: void rb_update::dropAllConstraints(pqxx::work&) - exception caught: ОШИБКА: столбец "id" входит в первичный ключ
    [2026-01-15 13:30:05] Error: int mainRoutine(int, char**) - pqxx exception caught: ОШИБКА: столбец "id" входит в первичный ключ
    CODE

Возможная причина: RuBackup. Отличается версия СУБД служебной базы данных PostgreSQL. Перейти к решению.


  • Убедиться, что при выполнения сценария rb_init появляется сообщение служебной базы данных (БД):

    Updating the database...
    [================================================================================================> ] 75%
    [2026-01-13 15:21:51] Error: An error occured. Check /opt/rubackup/log/rb_update.log for details
    Exiting...
    
    Error occurred during database "rubackup" upgrade.
    Can't create server part of config file
    
    Configuration wasn't complete.
    CODE
  • Проверить журнал /opt/rubackup/log/rb_update.log на наличие сообщений вида: 
    Error: bool rb_update::resolve(pqxx::work&, const std::vector<std::__cxx11::basic_string<char> >&, Database&) - exception caught: ОШИБКА: столбец "catalog_max_size" содержит значения NULL
    Error: Query: ALTER TABLE clients_logging_configuration ALTER COLUMN catalog_max_size SET NOT NULL;
    Error: int mainRoutine(int, char**) - pqxx exception caught: ОШИБКА: столбец "catalog_max_size" содержит значения NULL
    CODE

Возможная причина: Отсутствуют значения по умолчанию в таблицах служебной БД. Перейти к решению.


Возможные причины