Re: [BUG]Update Toast data failure in logical replication

Поиск
Список
Период
Сортировка
От Ajin Cherian
Тема Re: [BUG]Update Toast data failure in logical replication
Дата
Msg-id CAFPTHDam0OApX1V9baaz0iEhm9aDc1LvJ=C4ofjvvymS4oWCVA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [BUG]Update Toast data failure in logical replication  (Dilip Kumar <dilipbalaut@gmail.com>)
Ответы Re: [BUG]Update Toast data failure in logical replication  (Dilip Kumar <dilipbalaut@gmail.com>)
Список pgsql-hackers
On Wed, Aug 11, 2021 at 10:45 PM Dilip Kumar <dilipbalaut@gmail.com> wrote:

> Yeah we can avoid that by detecting any toasted replica identity key
> in HeapDetermineModifiedColumns, check the attached patch.
>

I had a second look at this, and I just had a small doubt. Since the
convention is that for UPDATES, the old tuple/key is written to
WAL only if the one of the columns in the key has changed as part of
the update, and we are breaking that convention with this patch by
also including
the old key if it is toasted and is stored in disk even if it is not changed.
Why do we not include the detoasted key as part of the new tuple
rather than the old tuple? Then we don't really break this convention.

And one small typo in the patch:

The header above ExtractReplicaIdentity()

Before:
 * key_required should be false if caller knows that no replica identity
 * columns changed value and it doesn't has any external data.
 * It's always true in the DELETE case.

After:
 * key_required should be false if caller knows that no replica identity
 * columns changed value and it doesn't have any external data.
 * It's always true in the DELETE case.

regards,
Ajin Cherian
Fujitsu Australia



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

Предыдущее
От: vignesh C
Дата:
Сообщение: Re: Added schema level support for publication.
Следующее
От: Kyotaro Horiguchi
Дата:
Сообщение: Re: Allow escape in application_name