如何创建一个文件夹来保存 Postgresql 中的输出?

How to create a folder to save output in Postgresql?

如果我想将 file1.sql 的输出保存到新文件 file2.sql,我会在 terminal/cmd:

中使用此命令
psql -U postgres -f file1.sql -o file2.sql

不过,如果我希望 file2.sql 位于不同的文件夹中怎么办?

如果我尝试这个命令:

psql -U postgres -f file1.sql -o New/file2.sql,

这不会自动创建新文件夹并且会报错。新文件夹需要存在才能执行此操作。

我需要处理许多输出文件和许多新文件夹。一个明显的替代方法是使用 Python 预先创建所需的文件夹,但实际上,Postgresql 无法为我创建文件夹吗?

使用mkdir -p.

它将尝试创建一个目录 New 如果它不存在或者如果它已经存在则什么也不做 exists.The && 确保 仅当 mkdir 命令成功时,您的 psql 命令 运行s。

mkdir -p New && psql -U postgres -f file1.sql -o New/file2.sql

如果你想在 psql 中使用 运行 os 命令,只需在 file1.sql 中使用 \! <command> 选项,然后通过 \o 输出选项。

\! mkdir -p New
\o New/file2.sql