Re: Pg jdbc DNS failover

From: Dave Cramer <davecramer(at)postgres(dot)rocks>
To: Nikolay Prokofiev <nprokofiev(at)gmail(dot)com>
Cc: pgsql-jdbc(at)lists(dot)postgresql(dot)org
Subject: Re: Pg jdbc DNS failover
Date: 2023-11-21 13:07:46
Message-ID: CADK3HHLSA2CBWq2S3TSqtUz9ELn2BXkEnWgOvxkb25SKAf087A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On Tue, 21 Nov 2023 at 04:07, Nikolay Prokofiev <nprokofiev(at)gmail(dot)com>
wrote:

> Hi. According to pgjdbc documantation
> <https://jdbc.postgresql.org/documentation/use/#connection-fail-over>,
> the driver supports failover when ip addresses and ports of host are comma
> separated, like this:
> jdbc:postgresql://my-db-host-slave-1:5432,my-db-host-master-1:5432/database?targetServerType=primary
> .
>
> But it's not convenient, because we use k8s for pg, and there may be more
> slaves added and master ip may be changed.
>
> I want to store all my hosts in DNS and to specify one hostname like this:
> jdbc:postgresql://my-db-host.local:5432/database?targetServerType=primary
>
> I have a dns record with 2 ip addresses:
>
> $ nslookup my-db-host.local
> Server: 192.168.1.1
> Address: 192.168.1.1#53
>
> Non-authoritative answer:
> Name: my-db-host-slave-1
> Address: 192.168.10.21
> Name: my-db-host-master-1
> Address: 192.168.11.25
>
> and I tried to specify it like this:
> jdbc:postgresql://my-db-host.local:5432/database?targetServerType=primary.
>
> But this way it only picks the first ip - slave and fails with org.postgresql.util.PSQLException:
> Could not find a server with specified targetServerType: primary
>
> Is there any workaround for using dns failover? May be some options in
> connection pools if driver does not support that?
>

Currently no. It would be a useful addition however.

Dave

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Martin Lichtin 2023-11-28 13:27:27 Driver hangs in connect->MakeSSL.convert->SSLSocketImpl.startHandshake
Previous Message Nikolay Prokofiev 2023-11-21 09:07:30 Pg jdbc DNS failover