在 bash 命令行中使用 psql 测试 postgresql 连接字符串?

4 postgresql bash shell psql

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

export my_conn='postgresql://vadmin:Gimme5br@platform-prod.clfk51eo.us-west-2.rds.amazonaws.com/prod'
Run Code Online (Sandbox Code Playgroud)

我如何测试这个连接?我试过:

pqsl "$my_conn"
Run Code Online (Sandbox Code Playgroud)

它只是挂起

Cve*_*lov 13

改为运行此命令:

psql "$my_conn" -c "SELECT 1"
Run Code Online (Sandbox Code Playgroud)

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

echo $?
Run Code Online (Sandbox Code Playgroud)

任何不同的情况都0意味着一些错误。


Lau*_*lbe 5

用于此目的的最佳工具是pg_isready.

只需运行

pg_isready -d "$my_conn"
Run Code Online (Sandbox Code Playgroud)

并检查返回码。