Re: [HACKERS] Re: Logical slots not mentioned in CREATE_REPLICATION_SLOT for replication protocol docs
On 2014-05-30 08:12:35 +0900, Michael Paquier wrote: On Fri, May 30, 2014 at 5:31 AM, Robert Haas robertmh...@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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] Re: Logical slots not mentioned in CREATE_REPLICATION_SLOT for replication protocol docs
On Sat, May 31, 2014 at 11:02 PM, Andres Freund and...@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 robertmh...@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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] Re: Logical slots not mentioned in CREATE_REPLICATION_SLOT for replication protocol docs
On Thu, May 22, 2014 at 12:18 AM, Michael Paquier michael.paqu...@gmail.com wrote: On Thu, May 22, 2014 at 12:44 PM, Michael Paquier michael.paqu...@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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] Re: Logical slots not mentioned in CREATE_REPLICATION_SLOT for replication protocol docs
On Fri, May 30, 2014 at 5:31 AM, Robert Haas robertmh...@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 diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3a2421b..43861d0 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -1428,10 +1428,10 @@ The commands accepted in walsender mode are: /varlistentry varlistentry -termliteralCREATE_REPLICATION_SLOT/literal replaceable class=parameterslotname/ literalPHYSICAL/literalindextermprimaryCREATE_REPLICATION_SLOT/primary/indexterm/term +termliteralCREATE_REPLICATION_SLOT/literal replaceable class=parameterslotname/ { literalPHYSICAL/ | literalLOGICAL/ replaceable class=parameteroutput_plugin/ } indextermprimaryCREATE_REPLICATION_SLOT/primary/indexterm/term listitem para - Create a physical replication + Create a physical or logical replication slot. See xref linkend=streaming-replication-slots for more about replication slots. /para @@ -1445,6 +1445,16 @@ The commands accepted in walsender mode are: /para /listitem /varlistentry + + varlistentry + termreplaceable class=parameteroutput_plugin//term + listitem + para + The name of the output plugin used for logical decoding + (see xref linkend=logicaldecoding-output-plugin). + /para + /listitem + /varlistentry /variablelist /listitem /varlistentry @@ -1778,7 +1788,7 @@ The commands accepted in walsender mode are: /listitem /varlistentry varlistentry -termliteralSTART_REPLICATION/literal literalSLOT/literal replaceable class=parameterslotname/ literalLOGICAL/literal replaceable class=parameterXXX/XXX//term +termliteralSTART_REPLICATION/literal literalSLOT/literal replaceable class=parameterslotname/ literalLOGICAL/literal replaceable class=parameterXXX/XXX/ [ ( replaceableoption_name/replaceable replaceablevalue/replaceable [, ... ] ) ]/term listitem para Instructs server to start streaming WAL for logical replication, starting @@ -1811,6 +1821,22 @@ The commands accepted in walsender mode are: /para /listitem /varlistentry + varlistentry + termreplaceable class=parameteroption_name//term + listitem +para + Custom option name for logical decoding plugin. +/para + /listitem + /varlistentry + varlistentry + termreplaceable class=parametervalue//term + listitem +para + Value associated with given option for logical decoding plugin. +/para + /listitem + /varlistentry /variablelist /listitem /varlistentry -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
[HACKERS] Re: Logical slots not mentioned in CREATE_REPLICATION_SLOT for replication protocol docs
On Thu, May 22, 2014 at 12:44 PM, Michael Paquier michael.paqu...@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 diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3a2421b..42ed113 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -1428,10 +1428,10 @@ The commands accepted in walsender mode are: /varlistentry varlistentry -termliteralCREATE_REPLICATION_SLOT/literal replaceable class=parameterslotname/ literalPHYSICAL/literalindextermprimaryCREATE_REPLICATION_SLOT/primary/indexterm/term +termliteralCREATE_REPLICATION_SLOT/literal replaceable class=parameterslotname/ { literalPHYSICAL/ | literalLOGICAL/ replaceable class=parameteroutput_plugin/ } indextermprimaryCREATE_REPLICATION_SLOT/primary/indexterm/term listitem para - Create a physical replication + Create a physical or logical replication slot. See xref linkend=streaming-replication-slots for more about replication slots. /para @@ -1445,6 +1445,16 @@ The commands accepted in walsender mode are: /para /listitem /varlistentry + + varlistentry + termreplaceable class=parameteroutput_plugin//term + listitem + para + The name of the output plugin used for logical decoding + (see xref linkend=logicaldecoding-output-plugin). + /para + /listitem + /varlistentry /variablelist /listitem /varlistentry @@ -1778,7 +1788,7 @@ The commands accepted in walsender mode are: /listitem /varlistentry varlistentry -termliteralSTART_REPLICATION/literal literalSLOT/literal replaceable class=parameterslotname/ literalLOGICAL/literal replaceable class=parameterXXX/XXX//term +termliteralSTART_REPLICATION/literal literalSLOT/literal replaceable class=parameterslotname/ literalLOGICAL/literal replaceable class=parameterXXX/XXX/ [ ( replaceableoption/replaceable [, ... ] ) ]/term listitem para Instructs server to start streaming WAL for logical replication, starting @@ -1811,6 +1821,14 @@ The commands accepted in walsender mode are: /para /listitem /varlistentry + varlistentry + termreplaceable class=parameteroption//term + listitem +para + Custom option for logical decoding plugin. +/para + /listitem + /varlistentry /variablelist /listitem /varlistentry -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers