如何使用 PHP 脚本将 postgres 数据库备份到 sql 文件?

Rol*_*and 3 php postgresql

我有以下情况。

我有一个导入 CSV 文件然后更新 postgres 数据库的 PHP 脚本

现在我需要在导入之前创建数据库的备份

PHP 文件在一台服务器上运行,而 postgres 数据库在另一台服务器上运行

我试过exec(pg_dump db_name -CdiOv > /tmp/db_name_backup.sql)但不认为这会起作用,因为数据库在另一台服务器上。

我不知道如何做到这一点,我可以在 PHP 中编写正确的代码来执行备份,但这需要很长时间才能运行。

任何广告将不胜感激

Kyl*_*his 5

正如 depesz 所说,您需要使用 -h 选项来定义远程主机,但它仍然会提示输入有问题的密码。尝试:

exec("export PGPASSWORD=mypassword && export PGUSER=myuser && pg_dump -h yourremotehost db_name -CdiOv > /tmp/db_name_backup.sql && unset PGPASSWORD && unset PGUSER");
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用 ~/.pgpass 文件,但我从未尝试过。查看http://www.issociate.de/board/post/43225/pg_dump_+_cronjob.htmlhttp://forum.soft32.com/linux/Backup-Postgressql-ftopict460054.html