外部数据库 (Postgres)

如何更改 OpenReplay 的默认数据库目标并使用外部数据库。

外部数据库 (Postgres)

我们的数据库服务 Postgres 默认随 OpenReplay 一起安装,并在你的实例上运行于专用容器中,以降低部署成本。如果你需要更高的可扩展性或更便捷的运维,仍然可以使用外部 Postgres(即 AWS RDS 或 GCP Cloud SQL)。

导出现有的模式和数据

Section titled 导出现有的模式和数据

注意: 如果你是全新开始且尚未安装 OpenReplay,只需继续进行设置并忽略以下步骤。

现在必须将本地模式和已记录的数据导出到外部 Postgres:

  1. 首先,备份本地数据库:
kubectl exec -n db postgresql-postgresql-0 -- bash -c 'PGPASSWORD=<postgresPassword from vars.yaml> pg_dumpall -U postgres '"  > ~/path/to/dump.sql
  1. 在你的 OpenReplay 实例上安装 Postgres 客户端,并确保它能够访问外部数据库:
sudo apt install postgresql-client
  1. 将备份恢复到新的 externalPostgres:
PGPASSWORD=PG_PASSWORD psql -U PG_USERNAME -h [RDS_URL} -d postgres < /path/to/dump.sql
  1. 最后,更新 openreplay -e 中的所有 postgres 变量,并将它们指向外部数据库:
  postgresqlPassword: "changeMePassword"
  postgresqlHost: "postgresql.db.svc.cluster.local"
  postgresqlPort: "5432"
  postgresqlUser: "postgres"
  postgresqlDatabase: "postgres"
  1. 使用 :wq 保存并退出,以使更改生效

如果你遇到任何问题,请加入我们的 Slack,或访问我们的论坛,从我们的社区获取帮助。