Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 导入postgresql数据库转储_Php_Postgresql_Dump - Fatal编程技术网

Php 导入postgresql数据库转储

Php 导入postgresql数据库转储,php,postgresql,dump,Php,Postgresql,Dump,我有下面的工作流程,我想用简短的PHP脚本自动执行 从特定URL(可能是FTP)下载gzfile(带有db转储) 将文件解码为txt 使用psql(使用cmd)将txt导入本地postgre 现在我有两个问题: 将gunzipped文件传递给pg_查询的最佳方式是什么 当PHP到达这一行时,我得到一个错误: 从stdin复制rf(基准、id、最近、频率); 2011-08-29 8484 3 1。stdin会是个问题吗 谢谢大家! pg_转储文件将通过psql导入。您可以在中加载文件内容,甚

我有下面的工作流程,我想用简短的PHP脚本自动执行

  • 从特定URL(可能是FTP)下载gzfile(带有db转储)
  • 将文件解码为txt
  • 使用psql(使用cmd)将txt导入本地postgre
  • 现在我有两个问题:

    • 将gunzipped文件传递给pg_查询的最佳方式是什么
    • 当PHP到达这一行时,我得到一个错误:
      从stdin复制rf(基准、id、最近、频率);
      2011-08-29 8484 3 1
      。stdin会是个问题吗

    谢谢大家!

    pg_转储文件将通过psql导入。您可以在中加载文件内容,甚至使用php对其进行解压缩,然后打开到psql的管道,将数据输出到该进程(假设您在unix机器上)。当以这种方式执行psql时,通过php脚本编写的数据将通过stdin输入。

    gzcat dump.gz |在shell提示符下,psql将解压缩.gz文件并将输出直接发送到postgres。短的Bash脚本可能更简单,根据您的需要。我建议使用
    pg_dump-Fc
    转储和使用
    pg_restore
    还原。