pg_isready — PostgreSQLサーバの接続状態を検査する
pg_isready [connection-option...] [option...]
pg_isreadyはPostgreSQLデータベースサーバの接続状態を検査するためのユーティリティです。 終了ステータスが接続検査の結果を示します。
-d dbname--dbname=dbname接続するデータベースの名前を指定します。
このパラメータに=記号が含まれる場合、または、有効なURI接頭辞(postgresql://またはpostgres://)から始まる場合、conninfo文字列として扱われます。
詳細については34.1.1を参照してください。
-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--versionpg_isreadyのバージョンを表示し終了します。
-?--helppg_isreadyのコマンドライン引数に関する説明を表示し終了します。
pg_isreadyは、サーバが通常通り接続を受け付けている場合は0を、サーバが接続を拒絶している(例えば起動時)場合は1を、接続試行に対する応答がない場合は2を、試行が行われなかった(例えば無効なパラメータが原因)場合は3をシェルに返します。
他のほとんどのPostgreSQLユーティリティと同様、pg_isreadyはlibpqによってサポートされる環境変数(34.14参照)を使用します。
サーバの状態を取得するのに、正しいユーザ名、パスワード、データベース名の値を使う必要はありません。 しかし、正しくない値が使われた場合、サーバは接続試行に失敗したことをログに記録します。
標準的な使用方法を示します。
$pg_isready/tmp:5432 - accepting connections$echo $?0
起動中のPostgreSQLクラスタに対して接続パラメータを付けて実行します。
$pg_isready -h localhost -p 5433localhost:5433 - rejecting connections$echo $?1
応答しないPostgreSQLクラスタに対して接続パラメータを付けて実行します。
$pg_isready -h someremotehostsomeremotehost:5432 - no response$echo $?2