Re: Libpq support to connect to standby server as priority
От | Tatsuo Ishii |
---|---|
Тема | Re: Libpq support to connect to standby server as priority |
Дата | |
Msg-id | 20190116.134204.433037985172724288.t-ishii@sraoss.co.jp обсуждение исходный текст |
Ответ на | RE: Libpq support to connect to standby server as priority ("Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>) |
Ответы |
RE: Libpq support to connect to standby server as priority
|
Список | pgsql-hackers |
>> I'm confused as to how this would work. Who or what determines if the server >> is a primary or standby? > > Overall, the server determines the server role (primary or standby) using the same mechanism as pg_is_in_recovery(), andset the server_role GUC parameter. As the parameter is GUC_REPORT, the change is reported to the clients using the ParameterStatus('S') message. The clients also get the value at connection. But pg_is_in_recovery() returns true even for a promoting standby. So you have to wait and retry to send pg_is_in_recovery() until it finishes the promotion to find out it is now a primary. I am not sure if backend out to be responsible for this process. If not, libpq would need to handle it but I doubt it would be possible. Best regards, -- Tatsuo Ishii SRA OSS, Inc. Japan English: http://www.sraoss.co.jp/index_en.php Japanese:http://www.sraoss.co.jp
В списке pgsql-hackers по дате отправления: