Re: Change log level for notifying hot standby is waiting non-overflowed snapshot
От | torikoshia |
---|---|
Тема | Re: Change log level for notifying hot standby is waiting non-overflowed snapshot |
Дата | |
Msg-id | 61e1a4160566f07ec7b792013cce1195@oss.nttdata.com обсуждение исходный текст |
Ответ на | Re: Change log level for notifying hot standby is waiting non-overflowed snapshot (Fujii Masao <masao.fujii@oss.nttdata.com>) |
Ответы |
Re: Change log level for notifying hot standby is waiting non-overflowed snapshot
|
Список | pgsql-hackers |
On 2025-03-03 13:10, Fujii Masao wrote: Thanks for your comments! > On 2025/02/03 22:35, torikoshia wrote: >> Hi, >> >> When a hot standby is restarted in a state where subtransactions have >> overflowed, it may become inaccessible: >> >> $ psql: error: connection to server at "localhost" (::1), port 5433 >> failed: FATAL: the database system is not yet accepting connections >> DETAIL: Consistent recovery state has not been yet >> reached. > > Could you share the steps to reproduce this situation? We can reproduce this situation using the following procedure. I performed this test with one asynchronous standby server. -- overflow subtransaction (primary)=# create table t1 (i int); (primary)=# select 'insert into t1 values (1); savepoint s_' || generate_series(1, 70) ; \gexec (primary)=# checkpoint; -- restart standby $ pg_ctl restart -D data_stb/ waiting for server to shut down.... done server stopped waiting for server to start.... LOG: redirecting log output to logging collector process ........................................................... stopped waiting pg_ctl: server did not start in time -- standby log DEBUG: recovery snapshot waiting for non-overflowed snapshot or until oldest active xid on standby is at least 887 (now 818) >> However, the log message that indicates the cause of this issue seems >> to be only output at the DEBUG1 level: >> >> elog(DEBUG1, >> "recovery snapshot waiting for non-overflowed snapshot or " >> "until oldest active xid on standby is at least %u (now %u)", >> standbySnapshotPendingXmin, >> running->oldestRunningXid); >> >> I believe this message would be useful not only for developers but >> also for users. > > Isn't this log message too difficult for most users? It seems to > describe PostgreSQL's internal mechanisms, making it hard > for users to understand the issue and what actions to take. Agreed and I feel that a message suggesting something like "check if there are any overflowing transactions on the primary side" would make it useful. On the other hand, the manual's explanation of pg_stat_get_backend_subxact() does not mention subtransaction overflow, so I am not sure how much detail should be included. -- Regards, -- Atsushi Torikoshi Seconded from NTT DATA GROUP CORPORATION to SRA OSS K.K.
В списке pgsql-hackers по дате отправления: