Внешняя база данных (Postgres)

Как изменить базу данных назначения по умолчанию в OpenReplay и использовать внешнюю.

Внешняя база данных (Postgres)

Наш сервис базы данных, Postgres, устанавливается по умолчанию вместе с OpenReplay и работает в отдельном контейнере на вашем экземпляре для снижения стоимости развёртывания. Если вам нужна большая масштабируемость или более простое администрирование, вы по-прежнему можете использовать внешний Postgres (например, AWS RDS или GCP Cloud SQL).

Экспорт существующей схемы и данных

Section titled Экспорт существующей схемы и данных

Примечание: Если вы начинаете с нуля и ещё не установили OpenReplay, просто продолжайте настройку и пропустите следующие шаги.

Локальную схему и записанные данные теперь необходимо экспортировать во внешний Postgres:

  1. Сначала создайте резервную копию локальной базы данных:
kubectl exec -n db postgresql-0 -- bash -c 'PGPASSWORD=<postgresPassword from vars.yaml> pg_dumpall -U postgres '  > ~/path/to/dump.sql
  1. Установите клиент Postgres на вашем экземпляре OpenReplay и убедитесь, что у него есть доступ к внешней базе данных:
sudo apt install postgresql-client
  1. Восстановите резервную копию в новый externalPostgres:
PGPASSWORD=PG_PASSWORD psql -U PG_USERNAME -h {RDS_URL} -d postgres < /path/to/dump.sql
  1. Наконец, обновите все переменные postgres в openreplay -e и укажите в них внешнюю базу данных:
  postgresqlPassword: "changeMePassword"
  postgresqlHost: "postgresql.db.svc.cluster.local"
  postgresqlPort: "5432"
  postgresqlUser: "postgres"
  postgresqlDatabase: "postgres"
  1. Сохраните и выйдите с помощью :wq, чтобы изменения вступили в силу

Если вы столкнулись с какими-либо проблемами, подключайтесь к нашему Slack или загляните на наш Форум и получите помощь от нашего сообщества.