我正在尝试使用我们的旧方法转储 postgreSQL 数据库,但遇到了一些问题。
旧方法只是信任本地主机中的所有连接(在 pg_hba.conf 中),但新方法则设置为md5
信任所有人。
这是我们用来转储数据库的旧脚本
su postgres -c "pg_dump -U $DBUSER $DBNAME -Fc > /tmp/dbbackup.dump"
mv /tmp/dbbackup.dump /var/www/vhosts/$SITE/httpdocs/backup/
并且抱怨密码,所以我创建了.pgpass
然后/root/
尝试chmod 0600
了命令但它不起作用,仍然抱怨密码,所以我将所有者和组更改为postgres
但错误相同。
错误在哪里?我该如何备份我的数据库?
答案1
su postgres-c“pg_dump...
。。。并对密码有异议,因此我在 /root/ 中创建了 .pgpass
记住这个用法苏命令确实如此。
- 将执行竞赛变更为具名账户。
- 执行给定的命令。
你要求系统运行 pg_dump 命令作为这PostgreSQL 的帐户。
因此,.pgpass 文件需要位于PostgreSQL 的帐户,不是的根帐户。