Эта статья относится к устаревшей версии Dion on-premise 2024.05
Документация по актуальной версии Dion on-premise 2024.10 доступна по ссылке.
Для хранения учетных записей пользователей, параметров конференций и других служебных данных в Dion, используется база данных PostgreSQL.
Сервер базы данных (infra) может быть представлен в виде кластера с отказоустойчивой топологией (Standard, Enterprise) или как единственный экземпляр (All-In-One, Basic).
Подключение к базе данных можно осуществить с помощью таких утилит, как pgAdmin, DBeaver, psql.
Для подключения к базе требуются следующие параметры:
Пример подключения через утилиту DBeaver:
Пример подключения через консольную утилиту pgsql с сервера базы данных:
docker exec -it pgsql psql -h 192.168.14.72 -U postgres -d backend
Учетные записи пользователей находятся в таблице users в схеме api_clients
SELECT * FROM api_clients.users;
Информация о конференциях находится в таблице events в схеме api_clients
SELECT * FROM api_clients.events;
Информация об ip адресах turn серверов хранится в таблице turn_servers в схеме api_clients
SELECT * FROM api_clients.turn_servers;
Прописать внешние ip адреса для turn серверов можно с помощью запроса:
update api_clients.turn_servers set addresses = '{turn:50.60.70.80,turn:51.61.71.81}';
Для резервного копирования базы данных PostgreSQL можно использовать утилиту pg_dump.
Подключитесь SSH клиентом к серверу баз данных (infra) на котором запущен контейнер pgsql.
Выполните команду резервного копирования:
docker exec -it pgsql pg_dump -h 192.168.14.72 -U postgres -d backend -F c -f /var/lib/dion/infra/pgsql/back/backend_$(date "+%Y-%m-%d").dump
Введите пароль пользователя postgres.
Пояснения:
docker exec -it pgsql
: Выполняет команду внутри контейнера pgsql
.pg_dump
: Утилита для резервного копирования PostgreSQL.-h 10.7.79.204
: Виртуальный IP-адрес сервера Infra (vip_infra) для HA топологий или IP-адрес сервера Dion All-In-One/Infra.-U postgres
: Пользователь базы данных.-d backend
: Имя базы данных.-F c
: Формат дампа (custom).-f /var/lib/dion/infra/pgsql/back/backend_$(date "+%Y-%m-%d").dump
: Путь и имя файла для резервной копии, включая текущую дату.Резервная копия будет создана внутри контейнера в директории “/var/lib/dion/infra/pgsql/back/”.
Для восстановления базы данных PostgreSQL можно использовать утилиту pg_restore.
Подключитесь SSH клиентом к серверу баз данных (infra) на котором запущен контейнер pgsql.
Выполните команду восстановления базы данных:
docker exec -it pgsql pg_restore -h 192.168.14.72 -U postgres --clean -d backend -F c /var/lib/dion/infra/pgsql/back/backend_2024-10-10.dump
Введите пароль пользователя postgres.
Пояснения:
docker exec -it pgsql
: Выполняет команду внутри контейнера с именем pgsql
.pg_restore
: Утилита для восстановления баз данных PostgreSQL из дампов.-h 192.168.14.72
: Указывает хост, на котором работает сервер PostgreSQL.-U postgres
: Указывает имя пользователя для подключения к базе данных.--clean
: Удаляет существующие объекты перед их восстановлением. Это может быть полезно для предотвращения конфликтов с уже существующими данными.-d backend
: Указывает имя базы данных, в которую будет выполнено восстановление.-F c
: Указывает, что формат файла дампа — custom (пользовательский)./var/lib/dion/infra/pgsql/back/backend_2024-10-10.dump
: Путь к дампу, который вы хотите восстановить.