自动 postgres 备份

Lia*_*iam 20 postgresql linux backup

每天在 Linux 上自动备份 Postgres 数据库的最佳方法是什么?

Bil*_*iss 12

从 cron 运行 pg_dumpall。

  • pg_dumpall 比其他答案更好,因为它可以备份您的全局数据库对象。(例如:用户等。)您将需要这些来完全恢复您的数据库,如果您有大量这些,则重新创建它们可能并非易事。但是,如果您只想备份多个数据库集群中的单个数据库实例,pg_dumpall 可能对您来说有点过分,因为 pg_dumpall 将备份 _every_ 实例。所以......与大多数技术问答一样,这取决于。 (7认同)

Ali*_*ani 11

你可以这样使用pg_dump

$ pg_dump -h db_host -U user_name db_name > dump_file.sql
Run Code Online (Sandbox Code Playgroud)

请首先考虑设置.pgpass文件,如果连接需要密码,则该文件包含要使用的密码。此文件应具有以下格式的行:

hostname:port:database:username:password
Run Code Online (Sandbox Code Playgroud)

前四个字段中的每一个都可能是一个文字值或 *,它匹配任何内容。例如:*:*:*:postgres:pg_password

.pgpass文件必须位于主目录 ~/ 并且其权限必须禁止对世界或组的任何访问;通过命令实现这一点 chmod 0600 ~/.pgpass


小智 6

试试AutoPostgreSQLBackup。它是一个单一的脚本文件,可以轻松地根据您的需要进行配置,每天、每周和每月安排、每封电子邮件的日志、日志文件或标准输出等。