23 Mart 2011, ÇARŞAMBA
Nasıl istiyorsan öyle etkin bağlantıları varsa PostgreSQL veritabanı açılır?
PostgreSQL veritabanı düşecek bir senaryo yazmak istiyorum. Bunun için bir çok bağlantısı olabilir, ama senaryoyu göz ardı edilmelidir.
DROP DATABASE db_name
standart sorgu bağlantıları açık olduğunda çalışmıyor.
Sorunu nasıl çözebilirim?
CEVAP
23 Mart 2011, ÇARŞAMBA
Bu senin için: dışında varolan bağlantıları düşecek
pg_stat_activity
sorgu ve öldürmek SELECT pg_terminate_backend(pid int)
Sayı sonra pıd değerleri.
9.1 ve aşağıda PostgreSQL:
SELECT pg_terminate_backend(pg_stat_activity.procpid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'TARGET_DB'
AND procpid <> pg_backend_pid();
9.2 ve üstü PostgreSQL:
SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'TARGET_DB'
AND pid <> pg_backend_pid();
Herkes kesin bir kez çıkarın ve taşımaya çalışırken değil, başka bir veritabanı aka bir bağlantı DROP DATABASE komutu gerekir.
pid
procpid
sütunu yeniden adlandırma not. this mailing list thread bkz.
Bunu Paylaş:
Nasıl bir SQL Server 2005 veritabanı i...
Bir yedeği geri yüklerken, nasıl tüm e...
Nasıl't boş değerlere izin yok bu...
Nasıl PostgreSql veritabanı sahibini d...
Nasıl Django içinde PostgreSQL Veritab...