Thread: How to send queries to master and failover to slave ?
On 6/28/2016 2:41 AM, Benoit Salotti wrote: > > I have a setup with 1 master and 1 slave (hot standy to serve read > queries if necessary). > I would like the JDBC driver to talk preferrably to the master (to be > sure to get the freshest data). If the master is not available I would > like to send the queries to the slave. > > The documentation mentions the following values for the parameter > targetServerType: any, master, slave, preferSlave. > I'm surprised there is no preferMaster option which would allow me to > implement easily my requirement. > normally, if the master is not available, that means its failed, and your HA cluster management will promote the slave to be the new master, fencing off the old master until it can be manually reset and restored as the new slave. -- john r pierce, recycling bits in santa cruz
Assuming that the old slave will become new master if master ever goes down then the option "master" would do what you want. Right?
But if you do take the master down for maintenance without failing over to slave then yes. A small code change could be done to add support for preferMaster.
-Mikko
Sent: 28 June 2016 12:41
To: pgsql-jdbc@postgresql.org
Subject: [JDBC] How to send queries to master and failover to slave ?
Assuming that the old slave will become new master if master ever goes down then the option "master" would do what you want. Right?
But if you do take the master down for maintenance without failing over to slave then yes. A small code change could be done to add support for preferMaster.
-Mikko
Sent: 28 June 2016 12:41
To: pgsql-jdbc@postgresql.org
Subject: [JDBC] How to send queries to master and failover to slave ?
On 6/28/2016 2:41 AM, Benoit Salotti wrote: > > I have a setup with 1 master and 1 slave (hot standy to serve read > queries if necessary). > I would like the JDBC driver to talk preferrably to the master (to be > sure to get the freshest data). If the master is not available I would > like to send the queries to the slave. > > The documentation mentions the following values for the parameter > targetServerType: any, master, slave, preferSlave. > I'm surprised there is no preferMaster option which would allow me to > implement easily my requirement. > normally, if the master is not available, that means its failed, and your HA cluster management will promote the slave to be the new master, fencing off the old master until it can be manually reset and restored as the new slave. -- john r pierce, recycling bits in santa cruz
Assuming that the old slave will become new master if master ever goes down then the option "master" would do what you want. Right?
But if you do take the master down for maintenance without failing over to slave then yes. A small code change could be done to add support for preferMaster.
-Mikko
From: pgsql-jdbc-owner@postgresql.org <pgsql-jdbc-owner@postgresql.org> on behalf of Benoit Salotti <benoit.salotti@gmail.com>
Sent: 28 June 2016 12:41
To: pgsql-jdbc@postgresql.org
Subject: [JDBC] How to send queries to master and failover to slave ?Hi all,I have a setup with 1 master and 1 slave (hot standy to serve read queries if necessary).I would like the JDBC driver to talk preferrably to the master (to be sure to get the freshest data). If the master is not available I would like to send the queries to the slave.The documentation mentions the following values for the parameter targetServerType: any, master, slave, preferSlave.I'm surprised there is no preferMaster option which would allow me to implement easily my requirement.Anyone already encountered the same need ?Regards,Benoit
On 6/28/2016 2:41 AM, Benoit Salotti wrote:
I have a setup with 1 master and 1 slave (hot standy to serve read queries if necessary).
I would like the JDBC driver to talk preferrably to the master (to be sure to get the freshest data). If the master is not available I would like to send the queries to the slave.
The documentation mentions the following values for the parameter targetServerType: any, master, slave, preferSlave.
I'm surprised there is no preferMaster option which would allow me to implement easily my requirement.
normally, if the master is not available, that means its failed, and your HA cluster management will promote the slave to be the new master, fencing off the old master until it can be manually reset and restored as the new slave.
--
john r pierce, recycling bits in santa cruz
Assuming that the old slave will become new master if master ever goes down then the option "master" would do what you want. Right?
But if you do take the master down for maintenance without failing over to slave then yes. A small code change could be done to add support for preferMaster.
-Mikko
From: pgsql-jdbc-owner@postgresql.org <pgsql-jdbc-owner@postgresql.org> on behalf of Benoit Salotti <benoit.salotti@gmail.com>
Sent: 28 June 2016 12:41
To: pgsql-jdbc@postgresql.org
Subject: [JDBC] How to send queries to master and failover to slave ?Hi all,I have a setup with 1 master and 1 slave (hot standy to serve read queries if necessary).I would like the JDBC driver to talk preferrably to the master (to be sure to get the freshest data). If the master is not available I would like to send the queries to the slave.The documentation mentions the following values for the parameter targetServerType: any, master, slave, preferSlave.I'm surprised there is no preferMaster option which would allow me to implement easily my requirement.Anyone already encountered the same need ?Regards,Benoit
On 6/28/2016 2:41 AM, Benoit Salotti wrote:
I have a setup with 1 master and 1 slave (hot standy to serve read queries if necessary).
I would like the JDBC driver to talk preferrably to the master (to be sure to get the freshest data). If the master is not available I would like to send the queries to the slave.
The documentation mentions the following values for the parameter targetServerType: any, master, slave, preferSlave.
I'm surprised there is no preferMaster option which would allow me to implement easily my requirement.
normally, if the master is not available, that means its failed, and your HA cluster management will promote the slave to be the new master, fencing off the old master until it can be manually reset and restored as the new slave.
--
john r pierce, recycling bits in santa cruz
Hello,
We have the very same scenario as Benoit describes – if the master instance fails, we would like the driver to communicate with the secondary instance for read-only operations before the failover process is commenced. The second use-case is when the master instance is deliberately shut down for maintenance reasons and we do not want to fail over to the secondary instance, but instead allow it to process user queries throughout the maintenance.
For this, we intend to implement "preferMaster" targetServerType in the JDBC driver paramater. Would you consider it a good idea to integrate this feature into the official JDBC driver?
Cheers
Martin
From: pgsql-jdbc-owner@postgresql.org [mailto:pgsql-jdbc-owner@postgresql.org] On Behalf Of Benoit Salotti
Sent: Tuesday, June 28, 2016 11:41 AM
To: pgsql-jdbc@postgresql.org
Subject: How to send queries to master and failover to slave ?
Hi all,
I have a setup with 1 master and 1 slave (hot standy to serve read queries if necessary).
I would like the JDBC driver to talk preferrably to the master (to be sure to get the freshest data). If the master is not available I would like to send the queries to the slave.
The documentation mentions the following values for the parameter targetServerType: any, master, slave, preferSlave.
I'm surprised there is no preferMaster option which would allow me to implement easily my requirement.
Anyone already encountered the same need ?
Regards,
Benoit
Hello,
We have the very same scenario as Benoit describes – if the master instance fails, we would like the driver to communicate with the secondary instance for read-only operations before the failover process is commenced. The second use-case is when the master instance is deliberately shut down for maintenance reasons and we do not want to fail over to the secondary instance, but instead allow it to process user queries throughout the maintenance.
For this, we intend to implement "preferMaster" targetServerType in the JDBC driver paramater. Would you consider it a good idea to integrate this feature into the official JDBC driver?
Cheers
Martin
From: pgsql-jdbc-owner@postgresql.org [mailto:pgsql-jdbc-owner@postgresql.org] On Behalf Of Benoit Salotti
Sent: Tuesday, June 28, 2016 11:41 AM
To: pgsql-jdbc@postgresql.org
Subject: How to send queries to master and failover to slave ?
Hi all,
I have a setup with 1 master and 1 slave (hot standy to serve read queries if necessary).
I would like the JDBC driver to talk preferrably to the master (to be sure to get the freshest data). If the master is not available I would like to send the queries to the slave.
The documentation mentions the following values for the parameter targetServerType: any, master, slave, preferSlave.
I'm surprised there is no preferMaster option which would allow me to implement easily my requirement.
Anyone already encountered the same need ?
Regards,
Benoit
Okay thanks, I have opened a pull request for the feature: #1430
Martin
From: Dave Cramer [mailto:pg@fastcrypt.com]
Sent: Thursday, February 28, 2019 1:24 PM
To: Švorc Martin
Cc: pgsql-jdbc@postgresql.org
Subject: Re: How to send queries to master and failover to slave ?
If you have a use case for it then I think it's a good idea
On Thu, 28 Feb 2019 at 07:01, Švorc Martin <svorc@sefira.cz> wrote:
Hello,
We have the very same scenario as Benoit describes – if the master instance fails, we would like the driver to communicate with the secondary instance for read-only operations before the failover process is commenced. The second use-case is when the master instance is deliberately shut down for maintenance reasons and we do not want to fail over to the secondary instance, but instead allow it to process user queries throughout the maintenance.
For this, we intend to implement "preferMaster" targetServerType in the JDBC driver paramater. Would you consider it a good idea to integrate this feature into the official JDBC driver?
Cheers
Martin
From: pgsql-jdbc-owner@postgresql.org [mailto:pgsql-jdbc-owner@postgresql.org] On Behalf Of Benoit Salotti
Sent: Tuesday, June 28, 2016 11:41 AM
To: pgsql-jdbc@postgresql.org
Subject: How to send queries to master and failover to slave ?
Hi all,
I have a setup with 1 master and 1 slave (hot standy to serve read queries if necessary).
I would like the JDBC driver to talk preferrably to the master (to be sure to get the freshest data). If the master is not available I would like to send the queries to the slave.
The documentation mentions the following values for the parameter targetServerType: any, master, slave, preferSlave.
I'm surprised there is no preferMaster option which would allow me to implement easily my requirement.
Anyone already encountered the same need ?
Regards,
Benoit