Hi,
On 16/02/18 10:51, tushar wrote:
> Hi,
>
> Please refer this straight forward scenario against latest sources of v11.
>
> [centos@centos-cpula bin]$ ./psql postgres
> psql (11devel)
> Type "help" for help.
>
> postgres=# SELECT * FROM
> pg_create_logical_replication_slot('regression_slot1', 'test_decoding',
> true);
> slot_name | lsn
> ------------------+-----------
> regression_slot1 | 0/40001E8
> (1 row)
>
> postgres=#
> postgres=# select * from pg_replication_slots;
> slot_name | plugin | slot_type | datoid | database |
> temporary | active | active_pid | xmin | catalog_xmin | restart_lsn |
> confirmed_flush_lsn
>
------------------+---------------+-----------+--------+----------+-----------+--------+------------+------+--------------+-------------+---------------------
>
> regression_slot1 | test_decoding | logical | 13220 | postgres |
> t | t | 28015 | | 557 | 0/40001B0 |
> 0/40001E8
> (1 row)
>
> --Try to again create the same slot , getting an error - which is expected
> postgres=#
> postgres=# SELECT * FROM
> pg_create_logical_replication_slot('regression_slot1', 'test_decoding',
> true);
> ERROR: replication slot "regression_slot1" already exists
> postgres=#
>
> --No slot found
> postgres=# select * from pg_replication_slots;
> slot_name | plugin | slot_type | datoid | database | temporary | active
> | active_pid | xmin | catalog_xmin | restart_lsn | confirmed_flush_lsn
>
-----------+--------+-----------+--------+----------+-----------+--------+------------+------+--------------+-------------+---------------------
>
> (0 rows)
>
It's because you are creating temporary slot. Temporary slots are
removed on error, that's a documented behavior.
--
Petr Jelinek http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services