Hierdoor worden bestaande verbindingen verbroken, behalve die van jou:
Zoekopdracht pg_stat_activity
en verkrijg de pid-waarden die u wilt doden, en geef vervolgens SELECT pg_terminate_backend(pid int)
uit voor hen.
PostgreSQL 9.2 en hoger:
SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'TARGET_DB' -- ← change this to your DB
AND pid <> pg_backend_pid();
PostgreSQL 9.1 en lager:
SELECT pg_terminate_backend(pg_stat_activity.procpid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'TARGET_DB' -- ← change this to your DB
AND procpid <> pg_backend_pid();
Zodra je iedereen hebt losgekoppeld, moet je de verbinding verbreken en de opdracht DROP DATABASE geven vanaf een verbinding van een andere database, oftewel niet degene die je probeert te verbreken.
Let op de hernoeming van de procpid
kolom naar pid
. Zie deze mailinglijstthread.