[英]Cannot get psql command to run in bash script
我是 bash 脚本方面的新手,所以请耐心等待。 我正在尝试编写一个脚本来使用psql
执行一个 sql 文件。 从我的终端,它工作正常:
psql -f /path/to/file.sql "$URI"
但是,在我的脚本中,我有这样的事情:
dbURI="postgres://some.connection.string"
psql -f /path/to/file.sql $dbURI
但我不断得到这样的输出:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
我似乎根本无法让它发挥作用。 我试过用引号将变量包装起来,使用$(command)
等,但没有运气。
尝试在脚本中使用以下内容禁用通配符
psql -f /path/to/file.sql "$dbURI"
我刚刚遇到了同样的问题,错误消息完全相同。 问题是 Postgresql 需要几秒钟才能启动。 因此,如果您启动 postgresql 并在同一脚本中使用 psql 命令,则很可能在您调用它时 postgre 尚未启动。
解决方案包括:
sleep 5
在 psql 命令之前。 在您的情况下,这将是:
sleep 5
psql -f /path/to/file.sql "$URI"
这给了 postgre 在你使用它之前启动的一些时间。
我看到这个话题已经有 2 年了,但以防万一其他人面临同样的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.