我是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)
等将变量括在引号中,但没有运气。
答案 0 :(得分:0)
尝试在脚本中使用以下内容禁用通行
psql -f /path/to/file.sql "$dbURI"
答案 1 :(得分:0)
我刚刚遇到了同样的问题,错误消息完全相同。问题是 Postgresql 需要几秒钟才能启动。因此,如果您启动 postgresql 并在同一脚本中使用 psql 命令,则很可能在您调用它时 postgre 尚未启动。
解决方案包括:
sleep 5
在 psql 命令之前。在您的情况下,这将是:
sleep 5
psql -f /path/to/file.sql "$URI"
这给了 postgre 在你使用它之前启动的时间。
我看到这个话题已经有 2 年了,但以防万一其他人面临同样的问题。