pg_isready features

From: Jimmy <jimmyjack(at)gmail(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: pg_isready features
Date: 2016-06-15 16:09:10
Message-ID: CAE0GdZXEXhHEZwD-LSBSct_zw-yT+XbyX13qQ5AceU9mNBJSDg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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!

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Julien Rouhaud 2016-06-15 16:14:56 Re: Rename max_parallel_degree?
Previous Message Teodor Sigaev 2016-06-15 16:05:39 Re: Should phraseto_tsquery('simple', 'blue blue') @@ to_tsvector('simple', 'blue') be true ?