我在django有一个应用程序,我的网络服务器是apache。但是,在设置环境变量之后,数据库恢复命令不起作用,而命令在cmd中工作正常。
我的代码在视图中:
cmd = '"C:/Program Files/PostgreSQL/9.3/bin/pg_restore.exe" -d patchman -U postgres -c -F c "C:\Users\morteza\Desktop\patchman_db_backup.pgdump"'
os.environ['PGHOST'] = DATABASE_HOST;
os.environ['PGPORT'] = DATABASE_PORT;
os.environ['PGDATABASE'] = DATABASE_NAME;
os.environ['PGUSER'] = DATABASE_USER;
os.environ['PGPASSWORD'] = DATABASE_PASSWORD;
import subprocess
p = subprocess.Popen(cmd, shell=True, stdout = subprocess.PIPE , stdin = subprocess.PIPE, stderr=subprocess.PIPE, env=os.environ)
p.wait()