Postgresql 12 命令行参数通过 Python 3 代码初始化,如何进行?



使用 Python 3.8.1 代码,我在根 C 的特定文件夹中解压缩了 postgresql12 的分发,在代码中它创建了另外两个文件夹,数据和日志。在代码中,我编写以下行来设置第一个数据库:

subP = subprocess.run([link_initdb, "-U NewDataBase", "-A AlphaBeta", "-E utf8", "-D C:\Database\pgsql\data"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, encoding="utf-8")

但是我收到以下错误消息:ubP.stderr: initdb: error: 无法创建目录 " C:": 参数无效

我不知道我错了什么!

无论出于何种原因,-D 和文件名之间不应有空格。

要解决它,您可以使用:

subP = subprocess.run([
link_initdb,
"-U postgres",
"-A password",
"-E utf8",
"--pgdata=C:Databasepgsqldata",
],
shell=True,
)

最新更新