【问题标题】:PGAdmin restore remote database [duplicate]PGAdmin恢复远程数据库[重复]
【发布时间】:2021-09-02 15:22:00
【问题描述】:

首先声明,我不是一名 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 中运行此代码。

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

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

提前感谢您的思考和亲切的问候,

阿德·迪克斯曼

【问题讨论】:

    标签: postgresql pgadmin-4 database-restore pgagent


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回复 .... 匆忙中我忘记了我在这个解决方案中面临的最重要的问题,那就是我在这个环境中无法访问命令行。这个 psql 就像一个魅力,但对我来说没有选择,唉.....
    • 您可以在您的机器上安装psql 并将转储恢复到远程服务器。无需对数据库机器进行 shell 访问。除了psql 之外,没有其他选择可以恢复这样的转储。
    【解决方案2】:

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

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

    Export and import table dump (.sql) using pgAdmin

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

    【讨论】:

    • 尖锐的答复,我确实无法访问命令行,因此是我最初的问题。感谢您提供此网址,马上阅读。
    猜你喜欢
    • 2010-09-27
    • 2023-02-08
    • 1970-01-01
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    相关资源
    最近更新 更多