Điều này sẽ loại bỏ các kết nối hiện có ngoại trừ kết nối của bạn:
Truy vấn pg_stat_activity
và lấy các giá trị pid bạn muốn hủy, sau đó phát hành SELECT pg_terminate_backend(pid int)
cho họ.
PostgreSQL 9.2 trở lên:
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 trở xuống:
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();
Sau khi ngắt kết nối với tất cả mọi người, bạn sẽ phải ngắt kết nối và đưa ra lệnh DROP DATABASE từ một kết nối từ một cơ sở dữ liệu khác không phải cơ sở dữ liệu mà bạn đang cố gắng loại bỏ.
Lưu ý đổi tên của procpid
cột thành pid
. Xem chuỗi danh sách gửi thư này.