Create replication slot options

Started by Phillip Diffleyabout 1 year ago2 messagesgeneral
Jump to latest
#1Phillip Diffley
phillip6402@gmail.com

I am testing out some streaming logical replication commands and am having
trouble specifying options when calling CREATE_REPLICATION_SLOT
<https://www.postgresql.org/docs/current/protocol-replication.html#PROTOCOL-REPLICATION-CREATE-REPLICATION-SLOT&gt;
.

I connect to the database with
psql "dbname=replication_test_db replication=database"

Then I am able to successfully run
CREATE_REPLICATION_SLOT test_slot LOGICAL pgoutput;

But if I try to specify the snapshot option with
CREATE_REPLICATION_SLOT test_slot_2 LOGICAL pgoutput SNAPSHOT 'nothing';
the command fails with "ERROR: syntax error"

I have tried several combinations of brackets commas and equals signs but
have not been able to get the command with additional options to work. What
is the right syntax to use here?

Thanks,
Phillip

#2Christophe Pettus
xof@thebuild.com
In reply to: Phillip Diffley (#1)
Re: Create replication slot options

On Mar 24, 2025, at 17:31, Phillip Diffley <phillip6402@gmail.com> wrote:

I am testing out some streaming logical replication commands and am having trouble specifying options when calling CREATE_REPLICATION_SLOT.

I connect to the database with
psql "dbname=replication_test_db replication=database"

Then I am able to successfully run
CREATE_REPLICATION_SLOT test_slot LOGICAL pgoutput;

But if I try to specify the snapshot option with
CREATE_REPLICATION_SLOT test_slot_2 LOGICAL pgoutput SNAPSHOT 'nothing';
the command fails with "ERROR: syntax error"

I have tried several combinations of brackets commas and equals signs but have not been able to get the command with additional options to work. What is the right syntax to use here?

The options after LOGICAL <output_plugin > need to be in parentheses:

CREATE_REPLICATION_SLOT test_slot_2 LOGICAL pgoutput ( SNAPSHOT 'nothing' );

In the PostgreSQL documentation, parentheses mean literal parentheses rather than being part of the grammar.