pg_isready features - Mailing list pgsql-hackers

From Jimmy
Subject pg_isready features
Date
Msg-id CAE0GdZXEXhHEZwD-LSBSct_zw-yT+XbyX13qQ5AceU9mNBJSDg@mail.gmail.com
Whole thread Raw
Responses Re: pg_isready features  ("David G. Johnston" <david.g.johnston@gmail.com>)
Re: pg_isready features  (Imre Samu <pella.samu@gmail.com>)
List pgsql-hackers
Not sure if this was discussed in the past and decided it does not belong to pg_isready utility....

I am using pg_isready in dockerized development environment as part of docker-compose. Simply say I have POSTGRES container and APP container. I use pg_isready inside app container and wait till postgres is ready to accept connections before app starts.

There are two features which would make this a bit smoother and better.


1. enforce login
This could be optional and turned off by default. Basically if user supplies username/database as part of pg_isready call and the login fails (for whatever reason), pg_isready should fail. 

Why I need it? There is tiny window between postgres being ready to accept connections and final scripts which create initial user/database. Ideally having option to say "postgres is ready after specific user can login to specific database" would be ideal. Again, this can be optional and turned off by default.


2. retry
This is something I can do via unix script, but ideally it would be nice if there would be retry mechanism. For example if I say retry=30 then pg_isready would try 30x with x seconds pause in between and fail only after 30 retries. This could use default retry=0 (current behavior)


thanks a lot!


pgsql-hackers by date:

Previous
From: Teodor Sigaev
Date:
Subject: Re: Should phraseto_tsquery('simple', 'blue blue') @@ to_tsvector('simple', 'blue') be true ?
Next
From: Julien Rouhaud
Date:
Subject: Re: Rename max_parallel_degree?