Не проходит nxdbmgr upgrade

Started by fuzzy, May 12, 2014, 08:55:43 AM

Previous topic - Next topic

fuzzy

При обновлении с версии 1.2.9 не обновляется база. Сервер на CentOS, база на postgresql-9.3.
Логи:
Quote
NetXMS Database Manager Version 1.2.13 Build 7864

Upgrading database...
Upgrading from version 291 to 292
Upgrading from version 292 to 293
Upgrading from version 293 to 294
ПРЕДУПРЕЖДЕНИЕ:  нехватка разделяемой памяти
SQL query failed (25P02 ОШИБКА:  текущая транзакция прервана, команды до конца блока транзакции игнорируются):
DROP TABLE tdata_records_16557
SQL query failed (25P02 ОШИБКА:  текущая транзакция прервана, команды до конца блока транзакции игнорируются):
SELECT id FROM clusters
SQL query failed (25P02 ОШИБКА:  текущая транзакция прервана, команды до конца блока транзакции игнорируются):
SELECT id FROM mobile_devices
SQL query failed (25P02 ОШИБКА:  текущая транзакция прервана, команды до конца блока транзакции игнорируются):
UPDATE metadata SET var_value='294' WHERE var_name='SchemaVersion'
Rolling back last stage due to upgrade errors...
Database upgrade failed

Victor Kirhenshtein

Судя по сообщениям об ошибке (ПРЕДУПРЕЖДЕНИЕ:  нехватка разделяемой памяти), проблема в настройках PostgreSQL сервера. Увеличте размер shared memory, должно помочь.

Alex Kirhenshtein

Скорее всего проблема связана с тем, что в транзакции пересоздается большое количество таблиц (tdata_*), а PG делает при этом exclusive lock до конца транзакции. При большом количестве устройств или специфической настройке PG, локов может не хватать. Попробуйте увеличить значение max_locks_per_transaction в postgresql.conf (нужно только на время апгрейда).

Вопрос — сколько у вас устройств в системе?

fuzzy

Спасибо, помогло - обновился.

nxadm -c "show stats"
Total number of objects:     23673
Number of monitored nodes:   1241
Number of collectable DCIs:  15754