Subject: find replication slots that "belong" to a publication

From: Willy-Bas Loos <[email-masked]>
Date: Fri, 4 Apr 2025 10:58:13 +0200

Hi!

I'm looking for a way to find out if there are still replication slots
active for a publication before dropping the publication in an automated
way. The idea is that the publication is thought not to be needed any
longer, but we want to make sure.

I'm having trouble finding a link between a publication, the subscriptions
and the replication slots. Especially when you don't want to make
assumptions about any subscriber nodes, so you are restricted to the
publisher node.

The best I could find was a query listed in pg_stat_activity that lists the
slot name and the publication name:
START_REPLICATION SLOT "my_slot" LOGICAL 5DD1/3E56D360 (proto_version '1',
publication_names '"my_publication"')

I don't like the idea of using string manipulation on such query strings to
get the information I need. Postgres must have a way to compose this query.
Can anyone tell me a way to find replication slots that belong to a
publication?

-- 
Willy-Bas Loos

---

From: Willy-Bas Loos <[email-masked]>
Date: Fri, 4 Apr 2025 13:42:50 +0200

postgres 13 BTW

On Fri, Apr 4, 2025 at 10:58 AM Willy-Bas Loos <[email-masked]> wrote:

> The best I could find was a query listed in pg_stat_activity that lists
> the slot name and the publication name:
> I don't like the idea of using string manipulation on such query strings
> to get the information I need. Postgres must have a way to compose this
> query.

-- 
Willy-Bas Loos