Re: Patch: Implement failover on libpq connect level.
От | Mithun Cy |
---|---|
Тема | Re: Patch: Implement failover on libpq connect level. |
Дата | |
Msg-id | CAD__OujrhLNB6QtWLxZtvJt5n=gT+waWtRMLSLk=7J+fiOAFqg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Patch: Implement failover on libpq connect level. (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: Patch: Implement failover on libpq connect level.
Re: Patch: Implement failover on libpq connect level. Re: Patch: Implement failover on libpq connect level. |
Список | pgsql-hackers |
> So I am tempted to just
> hold my nose and hard-code the SQL as JDBC is presumably already
doing.
JDBC is sending "show transaction_read_only" to find whether it is master or not.
Victor's patch also started with it, but later it was transformed into pg_is_in_recovery
by him as it appeared more appropriate to identify the master / slave.ConnectionFactoryImpl.java:685
+ private boolean isMaster(QueryExecutor queryExecutor, Logger logger)
+ throws SQLException, IOException {
+ byte[][] results = SetupQueryRunner.run(queryExecutor, "show transaction_read_only", true);
+ String value = queryExecutor.getEncoding().decode(results[0]);
+ return value.equalsIgnoreCase("off");
}
В списке pgsql-hackers по дате отправления: