每天在 Linux 上自动备份 Postgres 数据库的最佳方法是什么?
答案1
你可以pg_dump
这样使用:
$ pg_dump -h db_host -U user_name db_name > dump_file.sql
请先考虑设置.pgpass
文件,其中包含要在连接需要密码时使用的密码。此文件应包含以下格式的行:
hostname:port:database:username:password
前四个字段中的每一个都可以是文字值或 *,它可以匹配任何内容。例如:*:*:*:postgres:pg_password
。
该.pgpass
文件必须位于主目录 ~/ 中,并且其权限必须不允许任何世界或组的访问;通过命令实现这一点
chmod 0600 ~/.pgpass
。
答案2
从 cron 运行 pg_dumpall。
答案3
尝试自动PostgreSQL备份。它是一个单独的脚本文件,可以根据您的需要轻松配置,执行每日、每周和每月的计划,每个电子邮件、日志文件或标准输出的日志等。
答案4
pg_rman是一种新工具,提供增量备份,适用于 PostgreSQL 8.4 或更新版本。