Обсуждение: SQLSTATE 00000 and message level LOG get logged when a server process crashes
SQLSTATE 00000 and message level LOG get logged when a server process crashes
От
Vadim Kalinkin
Дата:
Hello! Say, some worker process was terminated for whatever reason. In logfile that fact is reflected with messages by postmaster: 00000 2014-07-16 09:10:15.442 MSK [1755-5] d=,u=,h= LOG: server process (PID 12652) was terminated by signal 11: Segmentation fault 00000 2014-07-16 09:10:15.442 MSK [1755-6] d=,u=,h= DETAIL: Failed process was running: select * from <...> 00000 2014-07-16 09:10:15.442 MSK [1755-7] d=,u=,h= LOG: terminating any other active server processes (log_line_prefix = '%e %m [%p-%l] d=%d,u=%u,h=%h ') Why SQLSTATE 00000 and message level LOG are used here? Wouldn't SQLSTATE of Class 58 (System Error) and message level ERROR or FATAL be more suitable here? I'm asking because my log analyzer (pgBadger) completely missed that event. Thanks.
Vadim Kalinkin <vadim.kalinkin@gmail.com> writes: > Say, some worker process was terminated for whatever reason. > In logfile that fact is reflected with messages by postmaster: > 00000 2014-07-16 09:10:15.442 MSK [1755-5] d=,u=,h= LOG: > server process (PID 12652) was terminated by signal 11: Segmentation fault > 00000 2014-07-16 09:10:15.442 MSK [1755-6] d=,u=,h= DETAIL: > Failed process was running: select * from <...> > 00000 2014-07-16 09:10:15.442 MSK [1755-7] d=,u=,h= LOG: > terminating any other active server processes > (log_line_prefix = '%e %m [%p-%l] d=%d,u=%u,h=%h ') > Why SQLSTATE 00000 and message level LOG are used here? > Wouldn't SQLSTATE of Class 58 (System Error) and message level ERROR or > FATAL be more suitable here? ERROR or FATAL would mean that the postmaster itself was about to terminate, which is not the case here. We can't do anything different than LOG; that's actually the "most severe" non-terminating log level available to a background process. It is a bit bogus that there's no SQLSTATE assigned, perhaps. regards, tom lane