Re: We need to log aborted autovacuums

Поиск
Список
Период
Сортировка
От Robert Haas
Тема Re: We need to log aborted autovacuums
Дата
Msg-id AANLkTik-e_ttzsXThWg5Nb0J-m=PXbjFK_peGuay-nHi@mail.gmail.com
обсуждение исходный текст
Ответ на Re: We need to log aborted autovacuums  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: We need to log aborted autovacuums  (Alvaro Herrera <alvherre@commandprompt.com>)
Список pgsql-hackers
On Mon, Jan 17, 2011 at 4:08 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Simon Riggs <simon@2ndQuadrant.com> writes:
>> On Mon, 2011-01-17 at 14:46 -0500, Tom Lane wrote:
>>> Do we actually need a lock timeout either?  The patch that was being
>>> discussed just involved failing if you couldn't get it immediately.
>>> I suspect that's sufficient for AV.  At least, nobody's made a
>>> compelling argument why we need to expend a very substantially larger
>>> amount of work to do something different.
>
>> I have a patch to do this BUT the log message is harder. Until we grab
>> the lock we can't confirm the table still exists, so we can't get the
>> name for it. The whole point of this is logging the names of tables for
>> which we have failed to AV. Suggestions?
>
> As I said before, the correct place to fix this is in autovacuum.c,
> which has the table name near at hand.  If you insist on fixing it
> somewhere else it's going to be very invasive.

Unless I'm missing something, making autovacuum.c call
ConditionalLockRelationOid() is not going to work, because the vacuum
transaction isn't started until we get all the way down to
vacuum_rel().  But it seems not too hard to make vacuum_rel() and
analyze_rel() have the proper relation name - we just need to
manufacture a suitable RangeVar to pass via the VacuumStmt's
"relation" element.

See what you think of the attached...  I think logging this message at
LOG unconditionally is probably log spam of the first order, but if
the basic concept is sound we can argue over what to do about that.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Вложения

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Error code for "terminating connection due to conflict with recovery"
Следующее
От: Fujii Masao
Дата:
Сообщение: Re: Include WAL in base backup