Обсуждение: Create replication slot options

Поиск
Список
Период
Сортировка

Create replication slot options

От
Phillip Diffley
Дата:
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?

Thanks,
Phillip

Re: Create replication slot options

От
Christophe Pettus
Дата:

> 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
additionaloptions 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.