## pg\_isready pg\_isready — check the connection status of a PostgreSQL server ## Synopsis `pg_isready` [*`connection-option`*...] [*`option`*...] ## Description pg\_isready is a utility for checking the connection status of a PostgreSQL database server. The exit status specifies the result of the connection check. ## Options `-d *`dbname`*` `--dbname=*`dbname`*` Specifies the name of the database to connect to. The *`dbname`* can be a [connection string](libpq-connect.html#LIBPQ-CONNSTRING). If so, connection string parameters will override any conflicting command line options. `-h *`hostname`*` `--host=*`hostname`*` Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix-domain socket. `-p *`port`*` `--port=*`port`*` Specifies the TCP port or the local Unix-domain socket file extension on which the server is listening for connections. Defaults to the value of the `PGPORT` environment variable or, if not set, to the port specified at compile time, usually 5432. `-q` `--quiet` Do not display status message. This is useful when scripting. `-t *`seconds`*` `--timeout=*`seconds`*` The maximum number of seconds to wait when attempting connection before returning that the server is not responding. Setting to 0 disables. The default is 3 seconds. `-U *`username`*` `--username=*`username`*` Connect to the database as the user *`username`* instead of the default. `-V` `--version` Print the pg\_isready version and exit. `-?` `--help` Show help about pg\_isready command line arguments, and exit. ## Exit Status pg\_isready returns `0` to the shell if the server is accepting connections normally, `1` if the server is rejecting connections (for example during startup), `2` if there was no response to the connection attempt, and `3` if no attempt was made (for example due to invalid parameters). ## Environment `pg_isready`, like most other PostgreSQL utilities, also uses the environment variables supported by libpq (see [Section 34.15](libpq-envars.html)). The environment variable `PG_COLOR` specifies whether to use color in diagnostic messages. Possible values are `always`, `auto` and `never`. ## Notes It is not necessary to supply correct user name, password, or database name values to obtain the server status; however, if incorrect values are provided, the server will log a failed connection attempt. ## Examples Standard Usage: ``` $ pg_isready /tmp:5432 - accepting connections $ echo $? 0 ``` Running with connection parameters to a PostgreSQL cluster in startup: ``` $ pg_isready -h localhost -p 5433 localhost:5433 - rejecting connections $ echo $? 1 ``` Running with connection parameters to a non-responsive PostgreSQL cluster: ``` $ pg_isready -h someremotehost someremotehost:5432 - no response $ echo $? 2 ```