| From: | Brar Piening <brar(at)gmx(dot)de> | 
|---|---|
| To: | pgsql-hackers(at)lists(dot)postgresql(dot)org | 
| Subject: | Doc patch for Logical Replication Message Formats (PG14) | 
| Date: | 2021-06-21 06:56:13 | 
| Message-ID: | cc70956c-e578-e54f-49e6-b5d68c89576f@gmx.de | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
Hello Hackers,
while amending Npgsql to account for the Logical Streaming Replication
Protocol changes in PostgreSQL 14 I stumbled upon two documentation
inaccuracies in the Logical Replication Message Formats documentation
(https://www.postgresql.org/docs/devel/protocol-logicalrep-message-formats.html)
that have been introduced (or rather omitted) with the recent changes to
allow pgoutput to send logical decoding messages
(https://github.com/postgres/postgres/commit/ac4645c0157fc5fcef0af8ff571512aa284a2cec)
and to allow logical replication to transfer data in binary format
(https://github.com/postgres/postgres/commit/9de77b5453130242654ff0b30a551c9c862ed661)
 1. The content of the logical decoding message in the 'Message' message
    is prefixed with a length field (Int32) which isn't documented yet.
    See
    https://github.com/postgres/postgres/blob/69a58bfe4ab05567a8fab8bdce7f3095ed06b99c/src/backend/replication/logical/proto.c#L388
 2. The TupleData may now contain the byte 'b' as indicator for binary
    data which isn't documented yet. See
    https://github.com/postgres/postgres/blob/69a58bfe4ab05567a8fab8bdce7f3095ed06b99c/src/include/replication/logicalproto.h#L83
    and
    https://github.com/postgres/postgres/blob/69a58bfe4ab05567a8fab8bdce7f3095ed06b99c/src/backend/replication/logical/proto.c#L558.
The attached documentation patch fixes both.
Best regards,
Brar
| Attachment | Content-Type | Size | 
|---|---|---|
| protocol-logicalrep-message-formats-pg14-fix.patch | text/plain | 823 bytes | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Eisentraut | 2021-06-21 07:23:09 | Add index OID macro argument to DECLARE_INDEX | 
| Previous Message | Peter Smith | 2021-06-21 06:37:35 | Re: [HACKERS] logical decoding of two-phase transactions |