Как мигрировать базу данных пользователей из JSON в PostgreSQL¶
14.10.2025 в экспериментальной ветке опубликована новая версия TEGU ENTERPRISE 1.60, в которой есть ряд существенных изменений, которые могут быть несовместимы с некоторыми старыми конфигурациями почтового сервера. В частности, прекращена поддержка целого ряда функций, которые противоречат дальнейшему развитию сервера.
Вы не сможете использовать версию 1.60 и все последующие в случае если не внесете соответствующие изменения в конфигурацию.
Версия 1.60 при запуске выполняет проверку конфигурации и отказывается работать в случаях, если конфигурация предполагает использование старых объектов.
Список функций, которые удалены в версии 1.60:
1) Локальная база параметров sqlite
2) Локальное хранилище БД пользователей JSON
3) Локальное хранилище почты Maildir
4) Локальная очередь в sqlite
Данная статья предназначена тем пользователям, кто использует JSON базу данных пользователей. Статья описывает методику использованию утилиты migrate_userdb , предназначенной для автоматической миграции базы данных пользователей из формата JSON в PostgreSQL.
Для выполнения миграции:
-
Обновите ваш сервер TEGU до версии 1.55 См. репозиторий https://downloads.mbk-lab.ru/stable/enterprise/
-
Выполните бэкап баз данных TEGU
-
Скачайте дистрибутив утилиты tegu_migrate_userdb.tar.gz
-
Распакуйте архив в любой каталог и присвойте утилите "migrate_userdb" право исполнения
-
Остановите сервер TEGU
-
Получите список всех провайдеров баз данных пользователей командой migrate_userdb с параметром list.
Пример:$ ./migrate_userdb list domain: tegu.online json user db -
Для каждого провайдера от имени root или пользователя, от которого запускается TEGU, выполните:
-
В командном интерфейсе СУБД создайте пустую БД с именем, ассоциированным с именем выбранного провайдера, (к примеру "tegu_userdb") с правильными правами. См. так же п. 4.3. Создайте базы данных
-
Выполните миграцию выбранного провайдера с помощью команды:
$ ./migrate_userdb migrate --domain <имя интернет-домена> --name '<имя провайдера базы данных пользователей>' -s <адрес сервера СУБД> -p <порт сервера СУБД> -d <имя базы данных пользователей> -u <логин для доступа TEGU к СУБД> -w <пароль для доступа TEGU к СУБД>Пример:
$ ./migrate_userdb migrate --domain tegu.online --name 'json user db' -s pgsql.mbk.lan -p 5432 -d tegu_userdb -u tegu -w 123
-
-
Запустите сервер TEGU
-
Обновите конфигурацию вашего бэкапа с учетом появления новых баз.
Миграция завершена.
См. также