<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >pg_isready</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REV="MADE" HREF="mailto:pgsql-docs@postgresql.org"><LINK REL="HOME" TITLE="PostgreSQL 9.6.17 Documentation" HREF="index.html"><LINK REL="UP" TITLE="PostgreSQL Client Applications" HREF="reference-client.html"><LINK REL="PREVIOUS" TITLE="pg_dumpall" HREF="app-pg-dumpall.html"><LINK REL="NEXT" TITLE="pg_receivexlog" HREF="app-pgreceivexlog.html"><LINK REL="STYLESHEET" TYPE="text/css" HREF="stylesheet.css"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"><META NAME="creation" CONTENT="2020-02-15T12:30:38"></HEAD ><BODY CLASS="REFENTRY" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="4" ALIGN="center" VALIGN="bottom" ><A HREF="index.html" >PostgreSQL 9.6.17 Documentation</A ></TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A TITLE="pg_dumpall" HREF="app-pg-dumpall.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A HREF="reference-client.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="60%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="20%" ALIGN="right" VALIGN="top" ><A TITLE="pg_receivexlog" HREF="app-pgreceivexlog.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="APP-PG-ISREADY" ></A ><SPAN CLASS="APPLICATION" >pg_isready</SPAN ></H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN97845" ></A ><H2 >Name</H2 >pg_isready -- check the connection status of a <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > server</DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN97849" ></A ><H2 >Synopsis</H2 ><P ><TT CLASS="COMMAND" >pg_isready</TT > [<TT CLASS="REPLACEABLE" ><I >connection-option</I ></TT >...] [<TT CLASS="REPLACEABLE" ><I >option</I ></TT >...]</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="APP-PG-ISREADY-DESCRIPTION" ></A ><H2 >Description</H2 ><P > <SPAN CLASS="APPLICATION" >pg_isready</SPAN > is a utility for checking the connection status of a <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > database server. The exit status specifies the result of the connection check. </P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="APP-PG-ISREADY-OPTIONS" ></A ><H2 >Options</H2 ><P ></P ><DIV CLASS="VARIABLELIST" ><DL ><DT ><TT CLASS="OPTION" >-d <TT CLASS="REPLACEABLE" ><I >dbname</I ></TT ></TT ><BR><TT CLASS="OPTION" >--dbname=<TT CLASS="REPLACEABLE" ><I >dbname</I ></TT ></TT ></DT ><DD ><P > Specifies the name of the database to connect to. </P ><P > If this parameter contains an <TT CLASS="SYMBOL" >=</TT > sign or starts with a valid <ACRONYM CLASS="ACRONYM" >URI</ACRONYM > prefix (<TT CLASS="LITERAL" >postgresql://</TT > or <TT CLASS="LITERAL" >postgres://</TT >), it is treated as a <TT CLASS="PARAMETER" >conninfo</TT > string. See <A HREF="libpq-connect.html#LIBPQ-CONNSTRING" >Section 32.1.1</A > for more information. </P ></DD ><DT ><TT CLASS="OPTION" >-h <TT CLASS="REPLACEABLE" ><I >hostname</I ></TT ></TT ><BR><TT CLASS="OPTION" >--host=<TT CLASS="REPLACEABLE" ><I >hostname</I ></TT ></TT ></DT ><DD ><P > 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 ></DD ><DT ><TT CLASS="OPTION" >-p <TT CLASS="REPLACEABLE" ><I >port</I ></TT ></TT ><BR><TT CLASS="OPTION" >--port=<TT CLASS="REPLACEABLE" ><I >port</I ></TT ></TT ></DT ><DD ><P > 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 <TT CLASS="ENVAR" >PGPORT</TT > environment variable or, if not set, to the port specified at compile time, usually 5432. </P ></DD ><DT ><TT CLASS="OPTION" >-q</TT ><BR><TT CLASS="OPTION" >--quiet</TT ></DT ><DD ><P > Do not display status message. This is useful when scripting. </P ></DD ><DT ><TT CLASS="OPTION" >-t <TT CLASS="REPLACEABLE" ><I >seconds</I ></TT ></TT ><BR><TT CLASS="OPTION" >--timeout=<TT CLASS="REPLACEABLE" ><I >seconds</I ></TT ></TT ></DT ><DD ><P > 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. </P ></DD ><DT ><TT CLASS="OPTION" >-U <TT CLASS="REPLACEABLE" ><I >username</I ></TT ></TT ><BR><TT CLASS="OPTION" >--username=<TT CLASS="REPLACEABLE" ><I >username</I ></TT ></TT ></DT ><DD ><P > Connect to the database as the user <TT CLASS="REPLACEABLE" ><I >username</I ></TT > instead of the default. </P ></DD ><DT ><TT CLASS="OPTION" >-V</TT ><BR><TT CLASS="OPTION" >--version</TT ></DT ><DD ><P > Print the <SPAN CLASS="APPLICATION" >pg_isready</SPAN > version and exit. </P ></DD ><DT ><TT CLASS="OPTION" >-?</TT ><BR><TT CLASS="OPTION" >--help</TT ></DT ><DD ><P > Show help about <SPAN CLASS="APPLICATION" >pg_isready</SPAN > command line arguments, and exit. </P ></DD ></DL ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN97941" ></A ><H2 >Exit Status</H2 ><P > <SPAN CLASS="APPLICATION" >pg_isready</SPAN > returns <TT CLASS="LITERAL" >0</TT > to the shell if the server is accepting connections normally, <TT CLASS="LITERAL" >1</TT > if the server is rejecting connections (for example during startup), <TT CLASS="LITERAL" >2</TT > if there was no response to the connection attempt, and <TT CLASS="LITERAL" >3</TT > if no attempt was made (for example due to invalid parameters). </P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN97949" ></A ><H2 >Environment</H2 ><P > <TT CLASS="COMMAND" >pg_isready</TT >, like most other <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > utilities, also uses the environment variables supported by <SPAN CLASS="APPLICATION" >libpq</SPAN > (see <A HREF="libpq-envars.html" >Section 32.14</A >). </P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="APP-PG-ISREADY-NOTES" ></A ><H2 >Notes</H2 ><P > 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. </P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="APP-PG-ISREADY-EXAMPLES" ></A ><H2 >Examples</H2 ><P > Standard Usage: </P><PRE CLASS="SCREEN" ><SAMP CLASS="PROMPT" >$</SAMP > <KBD CLASS="USERINPUT" >pg_isready</KBD > <SAMP CLASS="COMPUTEROUTPUT" >/tmp:5432 - accepting connections</SAMP > <SAMP CLASS="PROMPT" >$</SAMP > <KBD CLASS="USERINPUT" >echo $?</KBD > <SAMP CLASS="COMPUTEROUTPUT" >0</SAMP ></PRE ><P> </P ><P > Running with connection parameters to a <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > cluster in startup: </P><PRE CLASS="SCREEN" ><SAMP CLASS="PROMPT" >$ </SAMP ><KBD CLASS="USERINPUT" >pg_isready -h localhost -p 5433</KBD > <SAMP CLASS="COMPUTEROUTPUT" >localhost:5433 - rejecting connections</SAMP > <SAMP CLASS="PROMPT" >$</SAMP > <KBD CLASS="USERINPUT" >echo $?</KBD > <SAMP CLASS="COMPUTEROUTPUT" >1</SAMP ></PRE ><P> </P ><P > Running with connection parameters to a non-responsive <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > cluster: </P><PRE CLASS="SCREEN" ><SAMP CLASS="PROMPT" >$ </SAMP ><KBD CLASS="USERINPUT" >pg_isready -h someremotehost</KBD > <SAMP CLASS="COMPUTEROUTPUT" >someremotehost:5432 - no response</SAMP > <SAMP CLASS="PROMPT" >$</SAMP > <KBD CLASS="USERINPUT" >echo $?</KBD > <SAMP CLASS="COMPUTEROUTPUT" >2</SAMP ></PRE ><P> </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="app-pg-dumpall.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="app-pgreceivexlog.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><SPAN CLASS="APPLICATION" >pg_dumpall</SPAN ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="reference-client.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >pg_receivexlog</TD ></TR ></TABLE ></DIV ></BODY ></HTML >