Re: "Missing" column in Postgres logical replication update message
От | Kevin Martin |
---|---|
Тема | Re: "Missing" column in Postgres logical replication update message |
Дата | |
Msg-id | CAKYsA6U19g9bVY-QS3S_ty=c1Cyy-aZ-E3Xes2Hc=M=YvFUDUQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: "Missing" column in Postgres logical replication update message (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-general |
Thanks for the response, Tom. I think that's exactly what's going on here.
On Wed, Aug 3, 2022 at 11:28 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
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 по дате отправления: