首页 > 解决方案 > 如何在 Postgresql 中创建一个文件夹来保存输出?

问题描述

如果我想将 file1.sql 的输出保存到新文件 file2.sql,我会在终端/cmd 中使用这个命令:

psql -U postgres -f file1.sql -o file2.sql

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

如果我尝试这个命令:

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

这不会自动创建一个新文件夹并会给出错误。新文件夹需要存在才能执行此操作。

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

标签: postgresqldirectorypsql

解决方案


使用mkdir -p.

如果目录不存在,它将尝试创建一个目录New,或者如果它已经存在,则不执行任何操作。&&确保您的 psql 命令仅在mkdir命令成功时运行。

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

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

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

推荐阅读