Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Полная остановка всех сервисов webitel
  2. Обновление Debian Linux и обновление приложений Webitel до v23.05
  3. Миграция базы данных с версии PostgreSQL 14 на 15
  4. Миграция базы данных с версии Webitel v23.02 на v23.05 (2 разных варианта)
  5. Перезапуск всех сервисов после обновления до Webitel v23.05

...

Code Block
languagebash
apt purge postgresql-14 webitel-postgresql-14 timescaledb-2-postgresql-14

systemctl restart postgresql
sudo -u postgres /usr/lib/postgresql/15/bin/vacuumdb --all --analyze-in-stages

Миграция базы данных с версии Webitel v23.02 на v23.05

Warning

В данном релизе были внесены изменения в тип данных таблицы истории.

Если у вас больше 1 млн. звонков в истории, рекомендуем включить hypertable для статистики звонков. Обратите внимание, что необходимо будет наличие на диске с базой данных  свободного места не меньше чем текущий размер базы данных.

  • Миграция базы данных с версии Webitel v23.02 на v23.05 с небольшим количеством архивных звонков (около 500 тыс.)
Code Block
languagebash
su postgres
cd ~
wget https://git.webitel.com/projects/WEP/repos/postgres/raw/migration/23.02-23.05.sql
psql webitel -f 23.02-23.05.sql
rm 23.02-23.05.sql
exit
  • Миграция базы данных с версии Webitel v23.02 на v23.05 с большим количеством архивных звонков (1 млн. и больше)
Code Block
languagebash
su postgres
cd ~

# Выносим текущую статистику в отдельную таблицу
wget https://git.webitel.com/projects/WEP/repos/postgres/raw/migration/23.02-23.05/1.save_call_history.sql
psql webitel -f 1.save_call_history.sql

# Миграция схемы базы данных на версию 23.05
wget https://git.webitel.com/projects/WEP/repos/postgres/raw/migration/23.02-23.05.sql
psql webitel -f 23.02-23.05.sql

# Включаем поддержку hypertable для статистики звонков
wget https://git.webitel.com/projects/WEP/repos/postgres/raw/migration/23.02-23.05/2.hypertable.sql
psql webitel -f 2.hypertable.sql

rm 23.02-23.05.sql 1.save_call_history.sql 2.hypertable.sql
exit

Вы можете продолжить процесс обновления. Старую статистику будем переносить после завершения обновления.

Обновите либо сведите конфигурационный файл nginx (если он был изменен вручную):

...

Code Block
languagebash
systemctl restart consul
systemctl restart postgresql
systemctl restart rabbitmq-server

systemctl restart webitel-app webitel-uac webitel-api engine \
  messages-srv flow_manager messages-bot call_center storage \
  freeswitch ngcp-rtpengine-daemon opensips grafana-server nginx

После завершения процесса обновления, если у вас большая статистика и вы обновлялись с включением hypertable, тогда можете запустить процесс переноса старой статитики:

Code Block
languagebash
su postgres
cd ~

# Перенос старых звонков
wget https://git.webitel.com/projects/WEP/repos/postgres/raw/migration/23.02-23.05/3.migrate_calls.sql
psql webitel -f 3.migrate_calls.sql
# Каждый запуск скрипта переносит данные за 1 месяц. Запускаем до тех пор, пока скрипт не вернет 0.

# После того, как вы убедились, что все старые данные доступны из интерфейса History, а скрипт возвращает 0, удаляем временную таблицу 
psql -c "DROP table call_center.cc_calls_history_old;"

rm 3.migrate_calls.sql
exit