【问题标题】:Test postgresql connection string using psql at bash command line?在 bash 命令行中使用 psql 测试 postgresql 连接字符串?
【发布时间】:2019-10-28 13:27:47
【问题描述】:

如果我有一个 postgresql 连接字符串:

export my_conn='postgresql://vadmin:Gimme5br@platform-prod.clfk51eo.us-west-2.rds.amazonaws.com/prod'

如何测试此连接?我试过了:

pqsl "$my_conn"

它只是挂起

【问题讨论】:

  • 我将假设上面的错字(pqsl vs psql)只是创建问题时的错字。如果上面挂起,我希望您的问题是您的服务器和您正在连接的数据库之间的某种连接问题。可能是防火墙或路由问题,也可能是外壳扩展问题。您可能想尝试使用psql -U vadmin -h platform-prod.clfk51eo.us-west-2.rds.amazonaws.com -d prod 直接从命令行重新构建连接,看看您是否能够以这种方式连接。

标签: bash postgresql shell psql


【解决方案1】:

最好的工具是pg_isready

简单运行

pg_isready -d "$my_conn"

并检查返回码。

【讨论】:

  • 谢谢,有没有办法打开一个shell,比如psql>
  • 不完全,如果能开个shell就可以连接了
  • 我以为你想测试连接。你为什么想要一个交互式 shell?
【解决方案2】:

改为运行:

psql "$my_conn" -c "SELECT 1"

这将尝试执行一个简单的查询,该查询始终应返回单行结果然后退出。 您也可以通过调用来检查操作的退出代码:

echo $?

0 不同的任何内容都意味着一些错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-25
    • 2012-09-08
    • 1970-01-01
    • 2019-10-27
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    相关资源
    最近更新 更多