Pam*_*orp 2 pgadmin pg-dump postgresql-9.4
我的开发服务器上有两个 PostgreSQL 数据库,一个用于开发,另一个用于测试 Web 应用程序的生产。当我使用早期版本的 PostgreSQL 时,我能够在 pgAdmin 中轻松创建我的 prod 数据库的 TAR 转储文件,并在选择首先清理数据库的选项后使用相同的 TAR 文件来恢复我的开发数据库。不久前,我将 pgAdmin 升级到了应该可以与 PostgreSQL 9.4 一起使用的版本(我认为是 1.20.0)。无论出于何种原因,我无法恢复该版本中的文件。我尝试过 TAR 和 SQL,但恢复按钮始终受到保护。
我决定使用pg_dump并创建一个仅包含生产数据库数据插入语句的 SQL 文件。我想做的是复制我在 pgAdmin 中能够做的事情:清理我的开发数据库并将我的pg_dumpSQL 文件加载到其中。
我已经搜索过,但到目前为止我还没有找到任何如何在 pgAdmin 或终端中执行此操作的示例。
如果您对恢复时重新创建表感到满意(我认为没有理由不高兴:),那么您可以使用以下--clean选项:
-c --干净
在输出创建数据库对象的命令之前,输出命令以清理(删除)数据库对象。(除非
--if-exists还指定,否则如果目标数据库中不存在任何对象,则还原可能会生成一些无害的错误消息。)该选项仅对纯文本格式有意义。对于存档格式,您可以在调用时指定该选项
pg_restore。
在创建纯文本转储时使用它pg_dump,或者pg_restore在使用任何其他格式时使用它。在这两种情况下,您都需要完整转储,因为纯数据转储将缺少创建表的信息。
注意:不要INSERT在转储中使用语句(--inserts在 中执行此操作pg_dump)。它几乎总是比依赖默认COPY功能慢。
| 归档时间: |
|
| 查看次数: |
14736 次 |
| 最近记录: |