回答

收藏

在PSQL环境变量用于脚本

技术问答 技术问答 203 人阅读 | 0 人回复 | 2023-09-14

是否可以在.sql文件中使用Linux环境变量?我正在使用复制/选择查询来写入输出文件,并且我想将该目录放入变量中。所以我想做这样的事情:
7 {1 R2 B; k' Q5 D3 x8 M% h/ TCOPY (SELECT * FROM a)TO $outputdir/a.csvOutputdir设置在我的环境中。这可能吗?9 O( W; w: s* }" F4 d- q
                                                                # e0 Z8 a1 b+ s: k
    解决方案:                                                                ; ]+ x& n% h, n# R4 I; @9 u3 g
                                                                您可以将shell命令的结果存储在这种情况下psql变量中:# E( q: G" i0 p# i6 k
\set afile `echo "$outputdir/a.csv"`COPY (SELECT * FROM a) TO :'afile';你的案例之一是:1 E, h( [/ @# d2 y* _# S. a+ d
\set outputdir '/path/to/output'\set afile utputdir '/a.csv'COPY (SELECT * FROM a) TO :'afile';请注意,在示例中,您需要在脚本文件中设置变量,但如果您在调用时设置了第一行,您可以跳过第一行psql:
+ N; N/ F: e  u' e, S( ^psql --set=outputdir="$outputdir"  -f /path/to/yourscript.sql
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则