[PATCH] Log crashed backend's query (activity string)

Поиск
Список
Период
Сортировка
От Marti Raudsepp
Тема [PATCH] Log crashed backend's query (activity string)
Дата
Msg-id CABRT9RDuuV6a+zJN+DMJjt1ahwk1_50iEN0mPdRV9fjE7gHjuQ@mail.gmail.com
обсуждение исходный текст
Ответы Re: [PATCH] Log crashed backend's query (activity string)
Re: [PATCH] Log crashed backend's query (activity string)
Список pgsql-hackers
Hi list,

This patch adds the backend's current running query to the "backend
crash" message.

The crashing query is often a good starting point in debugging the
cause, and much more easily accessible than core dumps.

Example output:
LOG:  server process (PID 31451) was terminated by signal 9: Killed
DETAIL:  Running query: DO LANGUAGE plpythonu 'import os;os.kill(os.getpid(),9)'

The message "Running query" might not be entirely true, as it might be
e.g. a vacuum activity string too. But it sounds better than "Activity
string" or anything else I could come up with.

Also refactored pgstat_get_backend_current_activity() such that it
always returns consistent results. (Previously it returned a pointer to
shared memory that could theoretically change and was vulnerable to
races) The function can also deal with shared memory corruption (if
isCrashed is true), so that corruption doesn't cause a postmaster crash
or hang.

I'm not happy with the indenting depth in the function, but it would
be hard to split anything out.

Regards,
Marti

Вложения

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: timezone GUC
Следующее
От: Robert Haas
Дата:
Сообщение: Re: [v9.1] sepgsql - userspace access vector cache