提问人:beli3ver 提问时间:11/17/2023 最后编辑:Mureinikbeli3ver 更新时间:11/18/2023 访问量:31
dash ind CLI 命令导致的 Postgres 语法错误
Postgres Syntax error caused by dash ind CLI command
问:
我有一个带有此命令的脚本
/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;
如何转义此命令中的破折号?
答:
2赞
Mureinik
11/17/2023
#1
看起来引号没有传递给 PostgreSQL。您需要通过在它们前面加上反斜杠 () 来转义它们:\
/usr/bin/psql postgres -h localhost -U postgres -c "GRANT CONNECT ON DATABASE \"famdb-develop\" TO fullwood;"
# Here -----------------------------------------------------------------------^--------------^
1赞
Diego Torres Milano
11/18/2023
#2
由于 sql 中没有变量,因此可以使用单引号
/usr/bin/psql postgres -h localhost -U postgres -c 'GRANT CONNECT ON DATABASE "famdb-develop" TO fullwood;'
评论