Re: handling of heap rewrites in logical decoding

Поиск
Список
Период
Сортировка
От Craig Ringer
Тема Re: handling of heap rewrites in logical decoding
Дата
Msg-id CAMsr+YEz+KsA-7F7MA2exeAeiQEy-gT=hf1=B25RG+v7f96JZQ@mail.gmail.com
обсуждение исходный текст
Ответ на handling of heap rewrites in logical decoding  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
Ответы Re: handling of heap rewrites in logical decoding
Список pgsql-hackers
On 25 February 2018 at 09:57, Peter Eisentraut <peter.eisentraut@2ndquadrant.com> wrote:
A heap rewrite during a DDL command publishes changes for relations
named like pg_temp_%u, which are not real tables, and this breaks
replication systems that are not aware of that.  We have a hack in the
pgoutput plugin to ignore those, but we knew that was a hack.  So here
is an attempt at a more proper solution: Store a relisrewrite column in
pg_class and filter on that.

I have put this into reorderbuffer.c, so that it affects all plugins.
An alternative would be to have each plugin handle it separately (the
way it is done now), but it's hard to see why a plugin would not want
this fixed behavior.

 

A more fancy solution would be to make this column an OID that links
back to the original table.  Then, a DDL-aware plugin could choose
replicate the rewrite rows.  However, at the moment no plugin works that
way, so this might be overdoing it.



I'm pretty sure we _will_ want the ability to decode and stream rewrite contents for non-IMMUTABLE table rewrites.

Filtering out by default is OK by me, but I think making it impossible to decode is a mistake. So I'm all for the oid option and had written a suggestion for it before I saw you already mentioned it  in the next part of your mail.

The main issue with filtering out rewrites by default is that I don't see how, if we default to ignore/filter-out, plugins would indicate "actually I want to choose about this one" or "I understand table rewrites". I'd prefer not to add another change callback.

--
 Craig Ringer                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

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

Предыдущее
От: John Naylor
Дата:
Сообщение: Re: prokind column (was Re: [HACKERS] SQL procedures)
Следующее
От: Michail Nikolaev
Дата:
Сообщение: Re: New gist vacuum.