doc patch: wrong descriptions for dropping replication slots

Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com>

From: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
To: "'pgsql-hackers@lists.postgresql.org'" <pgsql-hackers@lists.postgresql.org>
Date: 2025-03-18T08:46:42Z
Lists: pgsql-hackers

Attachments

Dear hackers,

While considering another thread, I found the $SUBJECT. Attached patch fixes it.

Documentation says:

```
pg_drop_replication_slot ( slot_name name ) → void

Drops the physical or logical replication slot named slot_name. Same as replication protocol command DROP_REPLICATION_SLOT.
For logical slots, this must be called while connected to the same database the slot was created on.
```

But this is not correct. Backend processes which connect to other databases
can drop the logical slot:

```
postgres=# SELECT * FROM pg_create_logical_replication_slot('test', 'test_decoding');
 slot_name |    lsn    
-----------+-----------
 test      | 0/1CA6A18
(1 row)

postgres=# \c tests
You are now connected to database "tests" as user "postgres".
tests=# SELECT * FROM pg_drop_replication_slot('test');
 pg_drop_replication_slot 
--------------------------
 
(1 row)
```

IIUC, the description was added by ff539d. The initial version [1] seemed to have
the restriction, it was removed now but the description retained.

I think all supported versions have the same issue, attached one is for master.

Thanks Hou for confirming the issue.

[1]: https://www.postgresql.org/message-id/CAMsr%2BYGjZRqo-boCF9z5Bc1WZ_10RjMLtNSTsaa%3DkkE9_GmTag%40mail.gmail.com

Best regards,
Hayato Kuroda
FUJITSU LIMITED

Commits

  1. doc: Remove incorrect description about dropping replication slots.