Re: Nicer error when connecting to standby with hot_standby=off

From: Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, James Coleman <jtc331(at)gmail(dot)com>
Cc: David Steele <david(at)pgmasters(dot)net>, David Zhang <david(dot)zhang(at)highgo(dot)ca>, PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Nicer error when connecting to standby with hot_standby=off
Date: 2021-03-07 14:39:10
Message-ID: 1e39562b-c860-00cd-b951-bee540a1cf5a@oss.nttdata.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2021/03/06 5:37, Alvaro Herrera wrote:
> On 2021-Mar-05, James Coleman wrote:
>
>> Do you have any thoughts on what you'd like to see the message be? I
>> could change the PM_RECOVERY (without hot standby enabled) to return
>> CAC_RECOVERY which would give us the message "the database system is
>> in recovery mode", but that would be a change from what that state
>> returns now in a way that's unrelated to the goal of the patch.
>
> Here's an idea:
>
> * hot_standby=on, before reaching consistent state
> FATAL: database is not accepting connections
> DETAIL: Consistent state has not yet been reached.
>
> * hot_standby=off, past consistent state
> FATAL: database is not accepting connections
> DETAIL: Hot standby mode is disabled.
>
> * hot_standby=off, before reaching consistent state
> FATAL: database is not accepting connections

This idea looks good to me!

> DETAIL: Hot standby mode is disabled.
> or maybe
> DETAIL: Consistent state has not yet been reached, and hot standby mode is disabled.

I prefer the former message. Because the latter message meams that
we need to output the different messages based on whether the consistent
state is reached or not, and the followings would be necessary to implement
that. This looks a bit overkill to me against the purpose, at least for me.

- The startup process needs to send new signal
(e.g., PMSIGNAL_RECOVERY_CONSISTENT) to postmaster when the consistent
state has been reached, to let postmaster know that state.

- When receiving that signal, postmaster needs to move its state to new state
(e.g., PM_CONSISTENT).

Regards,

--
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2021-03-07 16:31:57 Re: [patch] bit XOR aggregate functions
Previous Message Japin Li 2021-03-07 13:50:41 Re: Support ALTER SUBSCRIPTION ... ADD/DROP PUBLICATION ... syntax