Как мигрировать базу данных пользователей из 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
- Обновите конфигурацию вашего бэкапа с учетом появления новых баз.
Миграция завершена.
См. также Как мигрировать базу данных конфигурации из sqlite в PostgreSQL