psql命令行变量插值导致语法错误

时间:2015-03-05 00:59:41

标签: postgresql shell

psql command documentation开始,--variable命令描述为使变量可用:name语法替换。但是,

psql --variable=var="'hello'" -c 'select :var'

...导致语法错误:

ERROR:  syntax error at or near ":"
LINE 1: select :var

1 个答案:

答案 0 :(得分:1)

如果在stdin上输入查询文本,这可以正常工作:

psql --variable=var="'hello"' <<<"select :var"

...在bash中,或者......

psql --variable=var="'hello"' <<<'EOF'
select :var
EOF

...在POSIX sh。