Thread: Logical slots not mentioned in CREATE_REPLICATION_SLOT for replication protocol docs

Hi all,

As written in subject, replication protocol documentation lacks
details about logical slots in CREATE_REPLICATION_SLOT command:
http://www.postgresql.org/docs/devel/static/protocol-replication.html
Attached is a patch correcting that.
Regards,
--
Michael

Attachment
On Thu, May 22, 2014 at 12:44 PM, Michael Paquier
<michael.paquier@gmail.com> wrote:
> Hi all,
>
> As written in subject, replication protocol documentation lacks
> details about logical slots in CREATE_REPLICATION_SLOT command:
> http://www.postgresql.org/docs/devel/static/protocol-replication.html
> Attached is a patch correcting that.
An additional thing I noticed: START_REPLICATION does not mention that
it is possible to specify options for the output plugin. All the fixes
are included in the patch attached.
Regards,
--
Michael

Attachment
On Thu, May 22, 2014 at 12:18 AM, Michael Paquier
<michael.paquier@gmail.com> wrote:
> On Thu, May 22, 2014 at 12:44 PM, Michael Paquier
> <michael.paquier@gmail.com> wrote:
>> Hi all,
>>
>> As written in subject, replication protocol documentation lacks
>> details about logical slots in CREATE_REPLICATION_SLOT command:
>> http://www.postgresql.org/docs/devel/static/protocol-replication.html
>> Attached is a patch correcting that.
> An additional thing I noticed: START_REPLICATION does not mention that
> it is possible to specify options for the output plugin. All the fixes
> are included in the patch attached.

Thanks, this looks good.  But shouldn't the bit about output plugin
options mention say something like:

( option_name option_argument [, ...] )

...instead of just:

( option [, ...] )

?

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



On Fri, May 30, 2014 at 5:31 AM, Robert Haas <robertmhaas@gmail.com> wrote:
> Thanks, this looks good.  But shouldn't the bit about output plugin
> options mention say something like:
>
> ( option_name option_argument [, ...] )
>
> ...instead of just:
>
> ( option [, ...] )
> ?
Yes, true. Here is an updated patch.
--
Michael

Attachment
On 2014-05-30 08:12:35 +0900, Michael Paquier wrote:
> On Fri, May 30, 2014 at 5:31 AM, Robert Haas <robertmhaas@gmail.com> wrote:
> > Thanks, this looks good.  But shouldn't the bit about output plugin
> > options mention say something like:
> >
> > ( option_name option_argument [, ...] )
> >
> > ...instead of just:
> >
> > ( option [, ...] )
> > ?
> Yes, true. Here is an updated patch.

I've pushed the patch with some additional changes. Hope they make sense
to you.

I wonder whether START_REPLICATION ... LOGICAL should be folded into
... PHYSICAL since they have most things in common. But it'd be a
awfully complicated description.

Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



On Sat, May 31, 2014 at 11:02 PM, Andres Freund <andres@2ndquadrant.com> wrote:
> On 2014-05-30 08:12:35 +0900, Michael Paquier wrote:
>> On Fri, May 30, 2014 at 5:31 AM, Robert Haas <robertmhaas@gmail.com> wrote:
>> > Thanks, this looks good.  But shouldn't the bit about output plugin
>> > options mention say something like:
>> >
>> > ( option_name option_argument [, ...] )
>> >
>> > ...instead of just:
>> >
>> > ( option [, ...] )
>> > ?
>> Yes, true. Here is an updated patch.
>
> I've pushed the patch with some additional changes. Hope they make sense
> to you.
Thanks, those changes look good. Limiting the uses of literal and
noticing that plugin options can have empty values are good catches
that I didn't get in my patch.

> I wonder whether START_REPLICATION ... LOGICAL should be folded into
> ... PHYSICAL since they have most things in common. But it'd be a
> awfully complicated description.
Yeah let's keep them separated, grouping them may be painful. Btw, I
think that we should explicitly list the types of messages that a
logical receiver can receive and use, aka:
- 'w' for stream data
- 'k' for keepalive messages
- 'r' for feedback
The logical messages have the same format as in the physical
replication case, the only difference being that the message 'h'
cannot be used. Thoughts?
Regards,
-- 
Michael