0

我正在尝试使用转储文件从 python 脚本创建一个 postgres 数据库。

以下是我尝试过的代码:

cmd='cat dump.sql.gz | zcat - | PGPASSWORD=my_password psql -d voylla_solr -h localhost -p 5432 -U user_name'
args = shlex.split(cmd)
p=subprocess.Popen(args)
p.wait()

我还尝试使用不同的命令:

cat dump.sql | PGPASSWORD=my_password psql -d voylla_solr -h localhost -p 5432 -U user_name

编辑*:我使用了以下命令:

subprocess.Popen("zcat dump.sql.gz | PGPASSWORD=my_password psql -d voylla_solr -h localhost -p 5432 -U user_name", shell=True);

它可以工作,但它不会在创建数据库后停止。创建数据库操作系统后如何停止其执行?

这两个命令都在命令行中工作,但不在 python 脚本中。我究竟做错了什么

4

1 回答 1

1

你可以简单地说:

subprocess.Popen("zcat dump.sql.gz | PGPASSWORD=my_password psql -d voylla_solr -h localhost -p 5432 -U user_name", shell=True);

(另请参阅。)

于 2013-09-16T04:50:53.933 回答