我正尝试将安装配置为使用外部 PostgreSQL 数据库。我已将其设置为与新安装连接,看起来运行正常。但当我尝试从旧的内部数据库进行恢复时,却收到错误:“用户 discourse 认证失败:登录失败次数过多”。这似乎表明它可能并未使用站点配置的外部数据库信息,因为外部数据库的用户名并非“discourse”。恢复过程是否会从其他位置读取配置?或者,对于为何其他数据库连接正常而此操作失败,您还有其他建议吗?
这是从管理 Web 界面执行的恢复操作吗?
我尝试过通过 Web 界面和命令行,结果相同。
您在外部实例上设置的用户是否为超级用户?我们将尝试创建架构和函数,因此需要您可能缺失的权限。
另外,PostgreSQL 版本是否为 10.x?
这是一个 Azure Postgres 数据库,因此我无法将用户设置为超级用户。我尝试了尽可能多地授予该用户权限,但问题依然存在。进程会进行到“正在迁移数据库……”这一步,然后报错。是的,版本是 v10.x。
那么,如果我无法以超级用户身份运行,是不是就没法用了?该用户拥有创建数据库、架构和函数的权限。
如果用户拥有足够的权限,应该可以正常工作。我们只是确认一下基本情况。
能否提供恢复尝试的日志,以便我们了解具体在哪个部分出错?
看来是权限问题。修改权限后可能需要重新构建之类的操作才能生效。不过我刚刚又运行了一次以获取日志,结果成功了!
感谢您的帮助!