【发布时间】:2019-07-17 06:56:32
【问题描述】:
我正在尝试导出 Postgresql 数据库,但它返回 backup() 不带任何参数(给定 1)。一世 尝试了各种方法,但无法导出数据库。
from pathlib import Path, PureWindowsPath
from subprocess import PIPE,Popen
def backup():
version = 11
# postgresDir = "D:/Program Files (x86)/PostgreSQL/9.1/bin"
postgresDir = str("D:/Program Files (x86)/PostgreSQL/9.1/bin/").split('\\')[-1:][0]
directory = postgresDir
filename = 'myBackUp2' # output filename here
saveDir = Path("D:/{}.tar".format(filename)) # output directory here
file = PureWindowsPath(saveDir)
host = 'localhost'
user = 'postgres'
port = '5432'
dbname = 'BPS_Server' # database name here
proc = Popen(['pg_dump', '-h', host, '-U', user, '-W', '-p', port,
'-F', 't', '-f', str(file), '-d', dbname],
cwd=directory, shell=True, stdin=PIPE)
proc.wait()
backup()
【问题讨论】:
-
您使用 Django 的原因有哪些?对我来说,这看起来像是一个普通的 python 脚本,你可以尝试将脚本移出你的 Django 项目并执行它吗?也可能重命名备份功能,只是一个疯狂的猜测
-
我试图从我的 django 项目中运行该文件,但它不起作用。它返回 FileNotFoundError: [WinError 2] 系统找不到指定的文件
标签: django