由 dash ind CLI 命令导致的 Postgres 语法错误

问题描述 投票:0回答:1

我有一个包含此命令的脚本

/usr/bin/psql postgres -h localhost -U postgres -c "GRANT CONNECT ON DATABASE "famdb-develop" TO fullwood;"

当我运行它时,我收到此错误:

ERROR:  syntax error at or near "-"
LINE 1: GRANT CONNECT ON DATABASE famdb-develop TO fullwood;

如何转义此命令中的破折号?

postgresql bash syntax-error
1个回答
1
投票

看起来引号没有被传递到 PostgreSQL。您需要通过在它们前面添加反斜杠来转义它们 (

\
):

/usr/bin/psql postgres -h localhost -U postgres -c "GRANT CONNECT ON DATABASE \"famdb-develop\" TO fullwood;"
# Here -----------------------------------------------------------------------^--------------^
© www.soinside.com 2019 - 2024. All rights reserved.