Thread

Commits

  1. Doc: Update logical replication message formats.

  2. doc: adjust PG 14 relnotes to be current

  3. Allow pgoutput to send logical decoding messages.

  4. Allow logical replication to transfer data in binary format.

  1. Doc patch for Logical Replication Message Formats (PG14)

    Brar Piening <brar@gmx.de> — 2021-06-21T06:56:13Z

    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
    
    
  2. Re: Doc patch for Logical Replication Message Formats (PG14)

    Amit Kapila <amit.kapila16@gmail.com> — 2021-06-21T09:18:09Z

    On Mon, Jun 21, 2021 at 12:26 PM Brar Piening <brar@gmx.de> wrote:
    >
    > 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.
    >
    
    Yeah, I think these should be fixed and your patch looks good to me in
    that regard.
    
    -- 
    With Regards,
    Amit Kapila.
    
    
    
    
  3. Re: Doc patch for Logical Replication Message Formats (PG14)

    Brar Piening <brar@gmx.de> — 2021-06-21T10:43:26Z

    Amit Kapila wrote:
    > On Mon, Jun 21, 2021 at 12:26 PM Brar Piening <brar@gmx.de> wrote:
    >> 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.
    >>
    > Yeah, I think these should be fixed and your patch looks good to me in
    > that regard.
    >
    After looking at the docs once again I have another minor amendment (new
    patch attached).
    
    
  4. Re: Doc patch for Logical Replication Message Formats (PG14)

    Amit Kapila <amit.kapila16@gmail.com> — 2021-06-21T11:08:42Z

    On Mon, Jun 21, 2021 at 4:13 PM Brar Piening <brar@gmx.de> wrote:
    >
    > Amit Kapila wrote:
    > >
    > After looking at the docs once again I have another minor amendment (new
    > patch attached).
    >
    
    +                The value of the column, eiter in binary or in text format.
    
    Typo. /eiter/either
    
    -- 
    With Regards,
    Amit Kapila.
    
    
    
    
  5. Re: Doc patch for Logical Replication Message Formats (PG14)

    Brar Piening <brar@gmx.de> — 2021-06-21T11:11:27Z

    Amit Kapila schrieb:
    > On Mon, Jun 21, 2021 at 4:13 PM Brar Piening <brar@gmx.de> wrote:
    >> Amit Kapila wrote:
    >> After looking at the docs once again I have another minor amendment (new
    >> patch attached).
    >>
    > +                The value of the column, eiter in binary or in text format.
    >
    > Typo. /eiter/either
    >
    Fixed - thanks!
    
    
  6. Re: Doc patch for Logical Replication Message Formats (PG14)

    Amit Kapila <amit.kapila16@gmail.com> — 2021-06-24T09:34:39Z

    On Mon, Jun 21, 2021 at 4:41 PM Brar Piening <brar@gmx.de> wrote:
    >
    > Amit Kapila schrieb:
    > > On Mon, Jun 21, 2021 at 4:13 PM Brar Piening <brar@gmx.de> wrote:
    > >> Amit Kapila wrote:
    > >> After looking at the docs once again I have another minor amendment (new
    > >> patch attached).
    > >>
    > > +                The value of the column, eiter in binary or in text format.
    > >
    > > Typo. /eiter/either
    > >
    > Fixed - thanks!
    >
    
    Thanks for the report and patch. Pushed.
    
    -- 
    With Regards,
    Amit Kapila.