Zabbix: обновление 5.0.40 до 7.0
Есть задача: обновить систему мониторинга Zabbix с действующей версии 5.0.40 до 7.0 (да, пока RC, но "вот вот" же, да и пока разберусь - зарелизится, вероятно).
В качестве СУБД исходной системы 5.0.40 используется PostgreSQL 12 с расширением TimescleDB 1.7.2. С обновлением БД разобрался (очень помог @Мелкий - огромное "Спасибо!").
Решил не перескакивать через версию, а вначале до 6.0, а потом уже 7.0.
Но появилась проблема на следующем этапе: при первом запуске Zabbix более новой версии он обновляет БД и вот тут появляется ошибка:
7903:20240530:233007.185 completed 35% of database upgrade
7903:20240530:233007.190 [Z3005] query failed: [0] PGRES_FATAL_ERROR:ОШИБКА: ограничение "c_widget_1" в таблице "widget" не существует
[alter table widget drop constraint c_widget_1]
7903:20240530:233007.191 database upgrade failed on patch 05030090, exiting in 10 seconds
Не понимаю, с чем точно проблема и как можно решить. Вероятно нет объекта, который обновление хочет удалить, но почему нет - неясно. Действующий Zabbix в работе - претензий к нему нет.
Обе версии - LTS.
Ответы (1 шт):
Поискал в пакете zabbix-server-pgsql-5.0.40-1.el7.x86_64.rpm
скрипты, которые создают структуру БД при первом запуске, нашёл соответствующий скрипт и применил:
ALTER TABLE ONLY widget ADD CONSTRAINT c_widget_1 FOREIGN KEY (dashboardid) REFERENCES dashboard (dashboardid) ON DELETE CASCADE;
После этого обновление прошло без проблем.