Re: Logging transaction IDs for DDL.

Поиск
Список
Период
Сортировка
От Magnus Hagander
Тема Re: Logging transaction IDs for DDL.
Дата
Msg-id CABUevEwwUS2ac125ViME7q3T9nLtTHzwAAC8tXtzkpmVTV-_Dw@mail.gmail.com
обсуждение исходный текст
Ответ на Logging transaction IDs for DDL.  (Vik Fearing <vik.fearing@2ndquadrant.com>)
Список pgsql-hackers
On Thu, Jun 14, 2018 at 12:34 AM, Vik Fearing <vik.fearing@2ndquadrant.com> wrote:
I just noticed a problem with log_statement = 'ddl' and log_line_prefix
containing '%x'.  If the statement is the first in the transaction, it
will be logged before it is executed, and more importantly, before a
transaction ID is assigned.  That means that %x will be 0.

If the administrator has configured postgres like this in order to ease
PITR on bad DDL, it's actually of no use whatsoever and they'll have to
use pg_waldump to try to figure things out.

PFA a simple patch that I hope addresses the issue in a clean way.  It
also handles the same problem for 'mod'.

I'm undecided whether this is a bugfix or an improvement.  I'm leaning
towards bugfix.

FWIW, I'm with Andres on the general points -- especially about having to look at overheads etc...

For your specific usecase, and until the actual logging can be rethought on it, I suggest you take a look at event triggers for it. E.g.:


--

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

Предыдущее
От: David Rowley
Дата:
Сообщение: Re: why partition pruning doesn't work?
Следующее
От: Magnus Hagander
Дата:
Сообщение: Re: SCRAM with channel binding downgrade attack