我有以下工作流程,我想使用简短的 PHP 脚本将其自动化。
- 从特定 URL(可能是 FTP)下载 gzfile(带数据库转储)。
- 将文件解码为 txt。
- 使用 psql(使用 cmd)将 txt 导入到本地 postgre。
现在我有两个问题:
- 将压缩文件传递给 pg_query 的最佳方式是什么?
- 当 PHP 到达这一行时我得到一个错误:
COPY rf (datum, id_emailu_op, recency, frequency) FROM stdin; 2011-08-29 8484 3 1
。 stdin 会是个问题吗?
谢谢大家!
最佳答案
pg_dump 文件是通过 psql 导入的。您可以加载文件内容,甚至用 php 解压缩它,然后打开一个管道到 psql 将数据写入该进程(假设您在 unix 机器上)。当 psql 以这种方式执行时,就其而言,您通过 php 脚本编写的数据将通过 stdin 传入。
关于php - 导入 postgresql 数据库转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7244463/