If I read the code right, this patch emits logs when pg_logical_slot_get_changes and pg_replication_slot_advance SQL functions are called. Is this desirable/useful, for the use case you stated at start of thread? I think it is most likely pointless. If you get rid of those, then the only acquisitions that would log messages are those in StartReplication and StartLogicalReplication. So I wonder if it would be better to leave the API of ReplicationSlotAcquire() alone, and instead make StartReplication and StartLogicalReplication responsible for those messages.
I didn't look at the release-side messages you're adding, but I suppose it should be symmetrical. -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ "El hombre nunca sabe de lo que es capaz hasta que lo intenta" (C. Dickens)