Du kan förhindra framtida anslutningar:
REVOKE CONNECT ON DATABASE thedb FROM public;
(och möjligen andra användare/roller; se \l+
i psql
)
Du kan sedan avsluta alla anslutningar till denna db förutom din egen:
SELECT pid, pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = current_database() AND pid <> pg_backend_pid();
På äldre versioner pid
kallades procpid
så du måste ta itu med det.
Eftersom du har återkallat CONNECT
rättigheter, allt som försökte ansluta automatiskt borde inte längre kunna göra det.
Du kommer nu att kunna släppa DB.
Det här fungerar inte om du använder superanvändaranslutningar för normal drift, men om du gör det måste du åtgärda problemet först.
När du är klar med att släppa databasen, om du skapar databasen igen, kan du köra nedanstående kommando för att återställa åtkomsten
GRANT CONNECT ON DATABASE thedb TO public;