我有以下情况。
我有一个导入 CSV 文件然后更新 postgres 数据库的 PHP 脚本
现在我需要在导入之前创建数据库的备份
PHP 文件在一台服务器上运行,而 postgres 数据库在另一台服务器上运行
我试过exec(pg_dump db_name -CdiOv > /tmp/db_name_backup.sql)但不认为这会起作用,因为数据库在另一台服务器上。
我不知道如何做到这一点,我可以在 PHP 中编写正确的代码来执行备份,但这需要很长时间才能运行。
任何广告将不胜感激
正如 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.html和http://forum.soft32.com/linux/Backup-Postgressql-ftopict460054.html
| 归档时间: |
|
| 查看次数: |
4855 次 |
| 最近记录: |