导入postgresql数据库转储

时间:2011-08-30 14:02:00

标签: php postgresql dump

我有以下工作流程,我希望使用简短的PHP脚本自动化。

  1. 从特定网址(可能是FTP)下载gzfile(带数据库转储)。
  2. 将文件解码为txt。
  3. 使用psql(使用cmd)将txt导入本地postgre。
  4. 现在我有两个问题:

    • 将gunzipped文件传递给pg_query的最佳方法是什么?
    • 当PHP到达此行时出现错误:
      COPY rf (datum, id_emailu_op, recency, frequency) FROM stdin; 2011-08-29 8484 3 1 stdin 可能会成为一个问题吗?

    谢谢大家!

1 个答案:

答案 0 :(得分:2)

pg_dump文件是通过psql导入的。你可以加载文件内容,甚至用php解压缩,然后打开一个管道,将psql写入数据到该进程(假设你在unix机器上)。当psql以这种方式执行时,只要它关注你通过php脚本写的数据就是通过stdin进行的。