def has_permanent_slots(self, postgresql: 'Postgresql', member: Tags) -> bool:
        """Check if our node has permanent replication slots configured.

        :param postgresql: reference to :class:`Postgresql` object.
        :param member: reference to an object implementing :class:`Tags` interface for
                       the node that we are checking permanent logical replication slots for.
        :returns: ``True`` if there are permanent replication slots configured, otherwise ``False``.
        """
        from ..postgresql.misc import PostgresqlRole

        role = PostgresqlRole.REPLICA
        members_slots: Dict[str, Dict[str, str]] = self._get_members_slots(postgresql.name, role,
                                                                           member.nofailover,
                                                                           postgresql.can_advance_slots)
        permanent_slots: Dict[str, Any] = self._get_permanent_slots(postgresql, member, role)
        slots = deepcopy(members_slots)
        self._merge_permanent_slots(slots, permanent_slots, postgresql.name, role, postgresql.can_advance_slots)
        return len(slots) > len(members_slots) or any(self.is_physical_slot(v) for v in permanent_slots.values())
Check if our node has permanent replication slots configured.

        :param postgresql: reference to :class:`Postgresql` object.
        :param member: reference to an object implementing :class:`Tags` interface for
                       the node that we are checking permanent logical replication slots for.
        :returns: ``True`` if there are permanent replication slots configured, otherwise ``False``.
        
patroni/dcs/__init__.py