Re: "Missing" column in Postgres logical replication update message

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: "Missing" column in Postgres logical replication update message
Дата
Msg-id 3043713.1659540504@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: "Missing" column in Postgres logical replication update message  (Adrian Klaver <adrian.klaver@aklaver.com>)
Ответы Re: "Missing" column in Postgres logical replication update message  (Kevin Martin <martinkd@gmail.com>)
Список pgsql-general
Adrian Klaver <adrian.klaver@aklaver.com> writes:
> On 8/3/22 08:09, Kevin Martin wrote:
>> I thought that any UPDATE message in the replication logs is designed to
>> include all values for all columns.  Is that correct?

Buried deep in the wire protocol specification is this bit:

----
The following message parts are shared by the above messages.

    TupleData

    Int16
        Number of columns.

    Next, one of the following submessages appears for each column (except generated columns):

    ...

    Byte1('u')
        Identifies unchanged TOASTed value (the actual value is not sent).
----

So that right there is two cases where we omit data for a column.
I suspect the "unchanged toasted data" case is what matters for
your purposes.  Maybe you've found some code that fails to implement
that correctly?

            regards, tom lane



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

Предыдущее
От: Kevin Martin
Дата:
Сообщение: Re: "Missing" column in Postgres logical replication update message
Следующее
От: "Daniel Verite"
Дата:
Сообщение: Re: ICU is not supported in this build. install from source code.