pg_isready — PostgreSQLサーバの接続状態を検査する
pg_isready
[connection-option
...] [option
...]
pg_isreadyはPostgreSQLデータベースサーバの接続状態を検査するためのユーティリティです。 終了ステータスが接続検査の結果を示します。
-d dbname
--dbname=dbname
接続するデータベースの名前を指定します。
dbname
は接続文字列でも構いません。
その場合、接続文字列パラメータは衝突するコマンドラインオプションよりも優先します。
-h hostname
--host=hostname
サーバが稼働しているマシンのホスト名を指定します。 値がスラッシュから始まる場合は、Unixドメインソケット用のディレクトリとして使用されます。
-p port
--port=port
サーバが接続を監視しているTCPポートまたはUnixドメインソケットファイルの拡張子を指定します。
デフォルトは環境変数PGPORT
の値、もし設定されていなければ、コンパイル時に指定したポート、通常は5432です。
-q
--quiet
状態メッセージを表示しません。 これはスクリプト処理の際に有用です。
-t seconds
--timeout=seconds
サーバが応答しないことを返す前に、接続試行時に待機する最大秒数です。 ゼロに設定すると無効になります。 デフォルトは3秒です。
-U username
--username=username
デフォルトではなくusername
ユーザとしてデータベースに接続します。
-V
--version
pg_isreadyのバージョンを表示し終了します。
-?
--help
pg_isreadyのコマンドライン引数に関する説明を表示し終了します。
pg_isreadyは、サーバが通常通り接続を受け付けている場合は0
を、サーバが接続を拒絶している(例えば起動時)場合は1
を、接続試行に対する応答がない場合は2
を、試行が行われなかった(例えば無効なパラメータが原因)場合は3
をシェルに返します。
他のほとんどのPostgreSQLユーティリティと同様、pg_isready
はlibpqによってサポートされる環境変数(34.15参照)を使用します。
環境変数PG_COLOR
は診断メッセージで色を使うかどうかを指定します。
可能な値はalways
、auto
、never
です。
サーバの状態を取得するのに、正しいユーザ名、パスワード、データベース名の値を使う必要はありません。 しかし、正しくない値が使われた場合、サーバは接続試行に失敗したことをログに記録します。
標準的な使用方法を示します。
$
pg_isready
/tmp:5432 - accepting connections
$
echo $?
0
起動中のPostgreSQLクラスタに対して接続パラメータを付けて実行します。
$
pg_isready -h localhost -p 5433
localhost:5433 - rejecting connections
$
echo $?
1
応答しないPostgreSQLクラスタに対して接続パラメータを付けて実行します。
$
pg_isready -h someremotehost
someremotehost:5432 - no response
$
echo $?
2