[11/15開催: PostgreSQL Conference Japan 2019 参加受付中] 
他のバージョンの文書 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

pg_isready

pg_isreadyPostgreSQLサーバの接続状態を検査する

概要

pg_isready [connection-option...] [option...]

説明

pg_isreadyPostgreSQLデータベースサーバの接続状態を検査するためのユーティリティです。 終了ステータスが接続検査の結果を示します。

オプション

-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
--version

pg_isreadyのバージョンを表示し終了します。

-?
--help

pg_isreadyのコマンドライン引数に関する説明を表示し終了します。

終了ステータス

pg_isreadyは、サーバが通常通り接続を受け付けている場合は0を、サーバが接続を拒絶している(例えば起動時)場合は1を、接続試行に対する応答がない場合は2を、試行が行われなかった(例えば無効なパラメータが原因)場合は3をシェルに返します。

環境

他のほとんどのPostgreSQLユーティリティと同様、pg_isreadylibpqによってサポートされる環境変数(34.14参照)を使用します。

注釈

サーバの状態を取得するのに、正しいユーザ名、パスワード、データベース名の値を使う必要はありません。 しかし、正しくない値が使われた場合、サーバは接続試行に失敗したことをログに記録します。

標準的な使用方法を示します。

$ 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