Dette vil fjerne eksisterende forbindelser undtagen din:
Forespørgsel pg_stat_activity
og få de pid-værdier, du vil dræbe, udsted derefter SELECT pg_terminate_backend(pid int)
til dem.
PostgreSQL 9.2 og nyere:
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 og derunder:
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();
Når du afbryder forbindelsen til alle, bliver du nødt til at afbryde forbindelsen og udstede kommandoen DROP DATABASE fra en forbindelse fra en anden database, også kendt som den, du forsøger at afbryde.
Bemærk omdøbningen af procpid
kolonne til pid
. Se denne postlistetråd.