postgres operational

Started by Steve Clarkabout 7 years ago5 messagesgeneral
Jump to latest
#1Steve Clark
steve.clark@netwolves.com

Hi List,

Is there a sure fire way to tell if postgres server is up an operational. I was testing to see if the
socket at /tmp/.s.PGSQL.5432 existed - but I ran into a recent problem on CentOS 7.5, postgresql 9.2.24, where the
socket was there but my script couldn't read from my database yet.

Thanks,
Steve
--

#2Scot Kreienkamp
Scot.Kreienkamp@la-z-boy.com
In reply to: Steve Clark (#1)
RE: postgres operational

The best way I came up with for older versions is: If timeout -s 9 10 psql -d DBNAME -c "select 1" >/dev/null ; then ....

And on newer versions, use the pg_isready command.

Scot Kreienkamp |Senior Systems Engineer | La-Z-Boy Corporate
One La-Z-Boy Drive| Monroe, Michigan 48162 | Office: 734-384-6403 | | Mobile: 7349151444 | Email: Scot.Kreienkamp@la-z-boy.com

-----Original Message-----
From: Steve Clark [mailto:steve.clark@netwolves.com]
Sent: Wednesday, January 9, 2019 12:59 PM
To: pgsql <pgsql-general@postgresql.org>
Subject: postgres operational

Hi List,

Is there a sure fire way to tell if postgres server is up an operational. I was
testing to see if the
socket at /tmp/.s.PGSQL.5432 existed - but I ran into a recent problem on
CentOS 7.5, postgresql 9.2.24, where the
socket was there but my script couldn't read from my database yet.

Thanks,
Steve
--

This message is intended only for the individual or entity to which it is addressed. It may contain privileged, confidential information which is exempt from disclosure under applicable laws. If you are not the intended recipient, you are strictly prohibited from disseminating or distributing this information (other than to the intended recipient) or copying this information. If you have received this communication in error, please notify us immediately by e-mail or by telephone at the above number. Thank you.

#3Martín Marqués
martin@2ndquadrant.com
In reply to: Steve Clark (#1)
Re: postgres operational

El 9/1/19 a las 14:58, Steve Clark escribió:

Hi List,

Is there a sure fire way to tell if postgres server is up an operational. I was testing to see if the
socket at /tmp/.s.PGSQL.5432 existed - but I ran into a recent problem on CentOS 7.5, postgresql 9.2.24, where the
socket was there but my script couldn't read from my database yet.

Use `check_postgres`

--
Martín Marqués http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

#4Ron
ronljohnsonjr@gmail.com
In reply to: Martín Marqués (#3)
Re: postgres operational

On 1/9/19 12:19 PM, Martín Marqués wrote:

El 9/1/19 a las 14:58, Steve Clark escribió:

Hi List,

Is there a sure fire way to tell if postgres server is up an operational. I was testing to see if the
socket at /tmp/.s.PGSQL.5432 existed - but I ran into a recent problem on CentOS 7.5, postgresql 9.2.24, where the
socket was there but my script couldn't read from my database yet.

Use `check_postgres`

Isn't "pg_ctl status" the canonical method?

--
Angular momentum makes the world go 'round.

#5Martín Marqués
martin@2ndquadrant.com
In reply to: Ron (#4)
Re: postgres operational

El 9/1/19 a las 17:38, Ron escribió:

On 1/9/19 12:19 PM, Martín Marqués wrote:

El 9/1/19 a las 14:58, Steve Clark escribió:

Hi List,

Is there a sure fire way to tell if postgres server is up an
operational. I was testing to see if the
socket at /tmp/.s.PGSQL.5432 existed - but I ran into a recent
problem on CentOS 7.5, postgresql 9.2.24, where the
socket was there but my script couldn't read from my database yet.

Use `check_postgres`

Isn't "pg_ctl status" the canonical method?

Depends on what you are expecting.

`check_postgres` has many different checks, one which will actually try
to connect and run `SELECT 1` to make sure postgres can actually run a
query.

pg_ctl status might return ok, yet you can't connect for other reasons.

--
Martín Marqués http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services