我试图在zsh shell中使用以下psql命令向数据库发送查询:
psql -Atx $mydburl -v myvar=1 -c "SELECT :myvar"
我得到以下错误:
ERROR: syntax error at or near ":"
LINE 1: SELECT :myvar
^
然而,当我使用管道时,这工作得很好:
echo "SELECT :myvar" | psql -Atx $mydburl -v myvar=1
,它产生预期结果:
?column?|1
这是怎么回事?
按文档说明:
-ccommand
[…]command
必须是服务器完全可解析的命令字符串(即,它不包含psql特定的功能),或者是单个反斜杠命令。