使用pg_dump进行多个数据库备份

时间:2017-08-23 06:58:40

标签: postgresql postgresql-9.4 postgresql-9.5

是否可以使用单个pg_dump命令备份多个数据库,而不是为每个数据库运行pg_dump命令

1 个答案:

答案 0 :(得分:0)

看起来可以使用pg_dumpall命令:https://www.postgresql.org/docs/9.6/static/app-pg-dumpall.html

来自文档:

  

描述

     

pg_dumpall是一个用于写出(“转储”)所有PostgreSQL的实用程序   集群的数据库到一个脚本文件中。脚本文件包含   SQL命令可以用作psql的输入来恢复   数据库。它通过为a中的每个数据库调用pg_dump来完成此操作   簇。 pg_dumpall还会转储所有通用的全局对象   数据库。 (pg_dump不保存这些对象。)目前   包括有关数据库用户和组,表空间和的信息   属性,例如应用于数据库的访问权限   整体。

     

由于pg_dumpall最有可能从所有数据库中读取表   必须连接为数据库超级用户才能生成完整的   倾倒。您还需要超级用户权限才能执行已保存的权限   脚本以便允许添加用户和组,以及创建   数据库。

     

SQL脚本将写入标准输出。使用   [-f | file]选项或shell操作符将其重定向到文件中。