On Tue, Feb 1, 2022 at 5:43 PM Antonin Houska <a...@cybertec.at> wrote: > > Amit Kapila <amit.kapil...@gmail.com> wrote: > > > On Tue, Feb 1, 2022 at 3:44 PM Antonin Houska <a...@cybertec.at> wrote: > > > > > > I got a syntax error when using the command according to the existing > > > documentation. The output_plugin parameter needs to be passed too. > > > > > > > Why do we need it for physical slots? > > Sure we don't, the missing curly brackets seem to be the problem. I used the > other form of the command for reference, which therefore might need a minor > fix too. >
Okay, I see that it is not very clear from the documentation. <varlistentry> - <term><literal>CREATE_REPLICATION_SLOT</literal> <replaceable class="parameter">slot_name</replaceable> [ <literal>TEMPORARY</literal> ] { <literal>PHYSICAL</literal> [ <literal>RESERVE_WAL</literal> ] | <literal>LOGICAL</literal> <replaceable class="parameter">output_plugin</replaceable> [ <literal>EXPORT_SNAPSHOT</literal> | <literal>NOEXPORT_SNAPSHOT</literal> | <literal>USE_SNAPSHOT</literal> | <literal>TWO_PHASE</literal> ] } + <term><literal>CREATE_REPLICATION_SLOT</literal> <replaceable class="parameter">slot_name</replaceable> [ <literal>TEMPORARY</literal> ] { <literal>PHYSICAL</literal> [ <literal>RESERVE_WAL</literal> ] | { <literal>LOGICAL</literal> <replaceable class="parameter">output_plugin</replaceable> +} [ <literal>EXPORT_SNAPSHOT</literal> | <literal>NOEXPORT_SNAPSHOT</literal> | <literal>USE_SNAPSHOT</literal> | <literal>TWO_PHASE</literal> ] } Instead of adding additional '{}', can't we simply use: { <literal>PHYSICAL</literal> [ <literal>RESERVE_WAL</literal> ] | <literal>LOGICAL</literal> <replaceable class="parameter">output_plugin</replaceable> } [ <literal>EXPORT_SNAPSHOT</literal> | <literal>NOEXPORT_SNAPSHOT</literal> | <literal>USE_SNAPSHOT</literal> | <literal>TWO_PHASE</literal> ] I am not sure change to other syntax is useful as that is kept for backward compatibility. I think we can keep that as it is. -- With Regards, Amit Kapila.