You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux shell调用psql执行SQL查询提示-c选项无效如何解决

问题原因

你把-c参数完全放入了PostgreSQL连接字符串的双引号范围内,psql会将引号内的全部内容识别为数据库连接配置项,自然无法识别-c这个命令执行参数,所以会抛出无效选项的报错。

正确写法

将-c参数移出连接字符串的引号,参考如下调整后的代码:

psql "host='localhost' port=xxxx dbname='xxxxx' user='xxxx' password='xxxxx'" -c "sql string"

额外注意事项

  • -c参数后直接跟SQL语句即可,不需要加等号,加等号反而可能引发解析错误
  • 如果SQL语句包含特殊符号,可根据情况选择外层用单引号包裹SQL,或对内部特殊符号做转义处理
  • 不建议在脚本中明文填写数据库密码,更安全的方式是通过.pgpass配置文件或PGPASSWORD环境变量传递密码

内容的提问来源于stack exchange,提问作者Nesan Mano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 15:39:03