Суть проблемы.
Решили мы перенести БД Zabbix на другой DB Engine, а именно с MySQL-5.5 на PostgreSQL-9.3
Как мы делали:
1. Создали БД в PostgreSQL по ману https://www.zabbix.com/wiki/howto/db/postgres
2. Залили schema.sql так:
3. Создали дамп с БД mysql этой тулзой https://github.com/philipsoutham/py-mysql2pgsql
4. Залили дамп в БД PostgreSQL так:
5. Перенастроили /etc/zabbix/web/zabbix.conf.php на PostgreSQL
6. Перенастроили zabbix_server.conf на PostgreSQL
Заббикс заработал. Работает все, но есть 2 проблемы.
1. Не удаляются триггеры
2. Не удаляются IT Services.
При удалении триггера получаем такую ошибку:
При удалении IT Service такую:
Решили мы перенести БД Zabbix на другой DB Engine, а именно с MySQL-5.5 на PostgreSQL-9.3
Как мы делали:
1. Создали БД в PostgreSQL по ману https://www.zabbix.com/wiki/howto/db/postgres
2. Залили schema.sql так:
Code:
psql -U zabbix -d zabbix -h 127.0.0.1 -f ../../schema.sql
4. Залили дамп в БД PostgreSQL так:
Code:
psql -U zabbix -d zabbix -h 127.0.0.1 -f ../../zabbix_dump.sql
6. Перенастроили zabbix_server.conf на PostgreSQL
Заббикс заработал. Работает все, но есть 2 проблемы.
1. Не удаляются триггеры
2. Не удаляются IT Services.
При удалении триггера получаем такую ошибку:
Code:
Deleted: Trigger "HTTPCode_Backend_5XX on {HOST.NAME}" on "AWS ELB CloudWatch".
Deleted: Trigger "HTTPCode_Backend_5XX on {HOST.NAME}" on "ELB-adx-ads-1".
pg_query(): Query failed: ERROR: update or delete on table "triggers" violates foreign key constraint "functions_triggerid_fkey" on table "functions" DETAIL: Key (triggerid)=(14202) is still referenced from table "functions". [triggers.php:194 → CAPIObject->delete() → CAPIObject->__call() → czbxrpc::call() → czbxrpc::callAPI() → call_user_func() → CTrigger->delete() → CTrigger->deleteByIds() → CZBXAPI->deleteByIds() → DB::delete() → DBexecute() → pg_query() in /usr/share/zabbix/include/db.inc.php:509]
Error in query [DELETE FROM triggers WHERE (triggerid IN ('14202','14338'))] [ERROR: update or delete on table "triggers" violates foreign key constraint "functions_triggerid_fkey" on table "functions" DETAIL: Key (triggerid)=(14202) is still referenced from table "functions".]
SQL statement execution has failed "DELETE FROM triggers WHERE (triggerid IN ('14202','14338'))"
Code:
pg_query(): Query failed: ERROR: update or delete on table "services" violates foreign key constraint "service_alarms_serviceid_fkey" on table "service_alarms" DETAIL: Key (serviceid)=(2) is still referenced from table "service_alarms". [services.php:106 → CAPIObject->delete() → CAPIObject->__call() → czbxrpc::call() → czbxrpc::callAPI() → call_user_func() → CService->delete() → DB::delete() → DBexecute() → pg_query() in /usr/share/zabbix/include/db.inc.php:509]
Error in query [DELETE FROM services WHERE serviceid='2'] [ERROR: update or delete on table "services" violates foreign key constraint "service_alarms_serviceid_fkey" on table "service_alarms" DETAIL: Key (serviceid)=(2) is still referenced from table "service_alarms".]
SQL statement execution has failed "DELETE FROM services WHERE serviceid='2'"
Comment