0

让我首先声明我不是 DBA,但我确实有一个关于使用 PG Admin 恢复远程数据库的问题。

我有这个 PG 管理工具 (v4.27) 在 Docker 容器中运行,我使用这个门户来维护两个独立的 Postgress 数据库,它们也在 Docker 容器中运行。我在两个数据库容器中安装了 PG 代理并运行计划的每日备份,通过 PG Admin 定义并存储在每个相应数据库的容器中。到目前为止,一切都很好。

现在我想通过使用最新的每日备份文件 (*.sql) 来恢复其中一个数据库,但 PG Admin 的恢复对话框只查找本地存储的文件(PG Admin 容器)?

无论我在互联网上尝试或搜索什么,对我来说似乎都无法在 PG Admin 中显示远程备份文件列表或手动运行远程 SQL 文件。这在 PG Admin 中是否可行?在查询编辑器中运行 psql 是不可能的(duh ...),由于没有找到远程 SQL 恢复文件,我不知道如何在远程相应数据库容器的 PG Admin 中运行此代码。

到目前为止,我能想到的唯一且唯一的解决方案是安排没有日历且应在需要时手动触发的还原,但这不是最漂亮的解决方案。

我是否遗漏了什么,或者我是否忽略了正确的文档,或者我创建了一个愚蠢的、无法维护的解决方案?

预先感谢您的思考和亲切的问候,

阿德·迪克斯曼

4

2 回答 2

1

您无法使用 pgAdmin 恢复纯格式转储(SQL 脚本)。您将不得不使用psql命令行客户端。

COPY语句和数据混合在这样的转储中,这会使 pgAdmin 窒息。

于 2021-09-02T16:10:46.593 回答
0

@Laurenz Albe 的解决方案指出最好在psql这里使用命令行,这将是我的第一个选择。

但是,如果由于某种原因您无法访问命令行并且只能通过 pgadmin 连接到该数据库,那么您可以在此处找到另一种解决方案:

使用 pgAdmin 导出和导入表转储 (.sql)

我建议查看 Tomas Greif 的解决方案。

于 2021-09-03T00:07:14.423 回答