Thread: postgres operational

postgres operational

From
Steve Clark
Date:
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
-- 



RE: postgres operational

From
Scot Kreienkamp
Date:
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,
confidentialinformation which is exempt from disclosure under applicable laws.  If you are not the intended recipient,
youare strictly prohibited from disseminating or distributing this information (other than to the intended recipient)
orcopying this information.  If you have received this communication in error, please notify us immediately by e-mail
orby telephone at the above number. Thank you.
 

Re: postgres operational

From
Martín Marqués
Date:
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


Re: postgres operational

From
Ron
Date:
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.


Re: postgres operational

From
Martín Marqués
Date:
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