gpt4 book ai didi

sql - 在 PSQL 脚本中使用环境变量

转载 作者:行者123 更新时间:2023-11-29 11:07:15 24 4
gpt4 key购买 nike

是否可以在 .sql 文件中使用 Linux 环境变量?我正在使用复制/选择查询来写入输出文件,我想将该目录放在一个变量中。所以我想做类似的事情:

COPY (SELECT * FROM a)
TO $outputdir/a.csv

Outputdir 将在我的环境中设置。这可能吗?

最佳答案

您可以像这样将 shell 命令的结果存储在 psql 变量中:

\set afile `echo "$outputdir/a.csv"`
COPY (SELECT * FROM a) TO :'afile';

另一种(我认为更好的)解决方案是仅使用 psql 变量,参见 this answer of mine about psql variables ,这与您的示例类似。您的案例的一个例子是:

\set outputdir '/path/to/output'
\set afile :outputdir '/a.csv'
COPY (SELECT * FROM a) TO :'afile';

请注意,在示例中,您需要在脚本文件中设置变量,但如果您在调用 psql 时设置它,则可以跳过第一行:

psql --set=outputdir="$outputdir" <conn parameters> -f /path/to/yourscript.sql

关于sql - 在 PSQL 脚本中使用环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18725880/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com