I am just wondering why pg_create_physical_replication_slot() can't take CAPITAL LETTERS into slot_name ?
Comment over ReplicationSlotValidateName() says that - Slot names may consist out of [a-z0-9_]{1,NAMEDATALEN-1} which should allow the name to be used as a directory name on every supported OS.
If its by design then was should atleast change the hint into ReplicationSlotValidateName() which says: "Replication slot names may only contain letters, numbers, and the underscore character."