Nicer error when connecting to standby with hot_standby=off

Поиск
Список
Период
Сортировка
От James Coleman
Тема Nicer error when connecting to standby with hot_standby=off
Дата
Msg-id CAAaqYe8h5ES_B=F_zDT+Nj9XU7YEwNhKhHA2RE4CFhAQ93hfig@mail.gmail.com
обсуждение исходный текст
Ответы Re: Nicer error when connecting to standby with hot_standby=off  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
I recently noticed while setting up a test environment that attempting to connect to a standby running without hot_standby=on results in a fairly generic error (I believe "the database system is starting up"). I don't have my test setup running right now, so can't confirm with a repro case at the moment, but with a little bit of spelunking I noticed that error text only shows up in src/backend/postmaster/postmaster.c when port->canAcceptConnections has the value CAC_STARTUP.

Ideally the error message would include something along the lines of "The server is running as a standby but cannot accept connections with hot_standby=off".

I wanted to get some initial feedback on the idea before writing a patch: does that seem like a reasonable change? Is it actually plausible to distinguish between this state and "still recovering" (i.e., when starting up a hot standby but initial recovery hasn't completed so it legitimately can't accept connections yet)? If so, should we include the possibility if hot_standby isn't on, just in case?

The enum value CAC_STARTUP is defined in src/include/libpq/libpq-be.h, which makes me wonder if changing this value would result in a wire protocol change/something the client wants to know about? If so, I assume it's not reasonable to change the value, but would it still be reasonable to change the error text?

Thanks,
James Coleman

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tomas Vondra
Дата:
Сообщение: Re: Additional improvements to extended statistics
Следующее
От: Jesse Zhang
Дата:
Сообщение: Re: Use compiler intrinsics for bit ops in hash