我正在尝试使用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脚本中没有。我做错了什么
答案 0 :(得分:1)
你可以简单地说:
subprocess.Popen("zcat dump.sql.gz | PGPASSWORD=my_password psql -d voylla_solr -h localhost -p 5432 -U user_name", shell=True);
(另请参阅this。)