我有以下情况。如何使用PHP脚本创建postgres数据库备份到sql文件?
我有一个导入CSV文件,然后更新Postgres数据库
现在我需要发生
的PHP文件是在一台服务器上运行之前,进口创建数据库的备份PHP脚本并在另一台服务器上的postgres数据库
我试过exec(pg_dump db_name -CdiOv > /tmp/db_name_backup.sql)
但不认为这将工作,因为数据库是在另一台服务器上。
我不知道如何做到这一点,我可以在PHP中正确执行备份代码,但这需要年龄才能运行。
任何adwise可以理解
#-C =用命令开始输出,以创建数据库本身并重新连接到创建的数据库。 #-d =将数据转储为INSERT命令 #-i =忽略旧数据库服务器和新数据库服务器之间的版本不匹配。 #-O =没有所有者,数据库不属于数据库中指定的任何特定所有者 #-v =详细的,如果在命令行中运行,将输出pg_dump的详细报告。 – Roland 2009-08-27 14:39:14
所以它也会工作,如果我这样做:pg_dump域-CdiOv -h服务器-u> pg_dump.sql,这里唯一的问题是它提示输入用户名和密码,我可以将它包含在文件中,因为这是一个内部系统可以保存发送用户名和密码 – Roland 2009-08-27 14:40:45
正确的方式来处理它是使用.pgpass文件(http://www.postgresql.org/docs/current/interactive/libpq-pgpass.html) – 2009-08-28 06:23:09