无法从 BASH 脚本中运行 psql 命令

Posted

技术标签:

【中文标题】无法从 BASH 脚本中运行 psql 命令【英文标题】:Unable to run psql command from within a BASH script 【发布时间】:2016-02-11 18:35:45 【问题描述】:

当我尝试登录本地 postgres 数据库并提交查询时,我的 BASH 脚本中的 psql 命令遇到了问题。我正在通过以下方式使用该命令:

psql -U postgres -d rebasoft_appauditor -c "SELECT * FROM katan_scripts"

但是,我收到以下错误消息。

psql: FATAL: 用户“postgres”的身份验证失败

在我将以下更改附加到 /var/lib/pgsql/data/pg_hba.conf 之后,这从命令行运行得非常好:

本地所有人都信任

托管所有 127.0.0.1/32 信任

另外,能否验证一下是否正确?

我觉得很奇怪,数据库身份验证在命令行上运行良好,但在脚本中却失败了。有人可以帮忙吗?

注意:我使用的是 MAC OSX

【问题讨论】:

【参考方案1】:

这可能取决于您的 bash 脚本。

注意不要将星号 (*) 替换为当前目录中的文件名。分号或\g 可能有助于实际将 SQL 语句发送到数据库服务器。

【讨论】:

以上是关于无法从 BASH 脚本中运行 psql 命令的主要内容,如果未能解决你的问题,请参考以下文章

jq生成的Shell命令无法正确运行

将变量传递给 psql 脚本

如何使用 Bash 脚本中的密码运行 sftp 命令?

无法从 WSL bash 中的批处理文件运行 Homebrew 应用程序(找不到命令)

为啥我的 bash 脚本无法识别 date 命令中的变量?

无法从 bash 脚本中使用 nvm