例如,假设我想从运行 postgres 服务器的同一台计算机上的路径导入 CSV 文件。
有一个环境变量MyPath
在系统上设置为'/path/to/my/csv/file/'
.
我可以轻松导入此 CSV 文件,如下所示:
COPY MyTable FROM
'/path/to/my/csv/file/myTable.csv'
DELIMITERS ','
CSV HEADER;
是否可以从此 postgres sql 命令中引用 MyPath 变量?大致如下:
COPY MyTable FROM
get_environmental_variable('MyPath') || 'myTable.csv'
DELIMITERS ','
CSV HEADER;
开始时尝试一下这个
psql --set 'var=foo' -c '\i thesqlscript'
这在查询中
update table set column = :var;
这是取自论坛上这个问题 http://postgresql.1045698.n5.nabble.com/Passing-parameters-into-an-in-line-psql-invocation-td4448898.html
如果您使用的是较旧版本的 postgres,这看起来与提出的问题相同在 postgres 论坛中 http://www.postgresql.org/message-id/20041028122902.GB22647@cspcag.swan.ac.uk(虽然这是很多年前的事了)。
没有直接的方法,但他们给出了一些解决方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)