# 无法恢复到外部数据库

**URL:** https://meta.discourse.org/t/cant-restore-to-external-db/137696
**Category:** Self-hosting
**Created:** [2020年一月3日 21:06 UTC](https://meta.discourse.org/t/cant-restore-to-external-db/137696 "2020-01-03T21:06:23Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![NotAnonymous](https://avatars.discourse-cdn.com/v4/letter/n/f05b48/32.png) [@NotAnonymous](https://meta.discourse.org/u/NotAnonymous)
#### Post date: [2020年一月3日 21:06 UTC](https://meta.discourse.org/t/cant-restore-to-external-db/137696/1 "2020-01-03T21:06:23Z")

</div>

我正尝试将安装配置为使用外部 PostgreSQL 数据库。我已将其设置为与新安装连接，看起来运行正常。但当我尝试从旧的内部数据库进行恢复时，却收到错误：“用户 discourse 认证失败：登录失败次数过多”。这似乎表明它可能并未使用站点配置的外部数据库信息，因为外部数据库的用户名并非“discourse”。恢复过程是否会从其他位置读取配置？或者，对于为何其他数据库连接正常而此操作失败，您还有其他建议吗？

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2020年一月3日 21:08 UTC](https://meta.discourse.org/t/cant-restore-to-external-db/137696/2 "2020-01-03T21:08:28Z")

</div>

这是从管理 Web 界面执行的恢复操作吗？

---

<div class="post-metadata">

### Author: ![NotAnonymous](https://avatars.discourse-cdn.com/v4/letter/n/f05b48/32.png) [@NotAnonymous](https://meta.discourse.org/u/NotAnonymous)
#### Post date: [2020年一月3日 21:17 UTC](https://meta.discourse.org/t/cant-restore-to-external-db/137696/3 "2020-01-03T21:17:39Z")

</div>

我尝试过通过 Web 界面和命令行，结果相同。

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2020年一月3日 21:22 UTC](https://meta.discourse.org/t/cant-restore-to-external-db/137696/4 "2020-01-03T21:22:21Z")

</div>

您在外部实例上设置的用户是否为超级用户？我们将尝试创建架构和函数，因此需要您可能缺失的权限。

另外，PostgreSQL 版本是否为 10.x？

---

<div class="post-metadata">

### Author: ![NotAnonymous](https://avatars.discourse-cdn.com/v4/letter/n/f05b48/32.png) [@NotAnonymous](https://meta.discourse.org/u/NotAnonymous)
#### Post date: [2020年一月3日 22:33 UTC](https://meta.discourse.org/t/cant-restore-to-external-db/137696/5 "2020-01-03T22:33:50Z")

</div>

这是一个 Azure Postgres 数据库，因此我无法将用户设置为超级用户。我尝试了尽可能多地授予该用户权限，但问题依然存在。进程会进行到“正在迁移数据库……”这一步，然后报错。是的，版本是 v10.x。

那么，如果我无法以超级用户身份运行，是不是就没法用了？该用户拥有创建数据库、架构和函数的权限。

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2020年一月3日 23:19 UTC](https://meta.discourse.org/t/cant-restore-to-external-db/137696/6 "2020-01-03T23:19:24Z")

</div>

> [@NotAnonymous](#):
>
> 如果无法以超级用户身份运行，我就只能自认倒霉了吗？该用户拥有创建数据库、模式和函数的权限。

如果用户拥有足够的权限，应该可以正常工作。我们只是确认一下基本情况。

能否提供恢复尝试的日志，以便我们了解具体在哪个部分出错？

---

<div class="post-metadata">

### Author: ![NotAnonymous](https://avatars.discourse-cdn.com/v4/letter/n/f05b48/32.png) [@NotAnonymous](https://meta.discourse.org/u/NotAnonymous)
#### Post date: [2020年一月3日 23:54 UTC](https://meta.discourse.org/t/cant-restore-to-external-db/137696/7 "2020-01-03T23:54:07Z")

</div>

看来是权限问题。修改权限后可能需要重新构建之类的操作才能生效。不过我刚刚又运行了一次以获取日志，结果成功了！

感谢您的帮助！

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [2020年二月2日 23:54 UTC](https://meta.discourse.org/t/cant-restore-to-external-db/137696/8 "2020-02-02T23:54:09Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
