如果我有一个 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
意味着一些错误。
用于此目的的最佳工具是pg_isready
.
只需运行
pg_isready -d "$my_conn"
Run Code Online (Sandbox Code Playgroud)
并检查返回码。