SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kingsimba357

    Kingsimba357

    7 NİSAN 2008
  • Slave Boy Films - Fandom from a Galaxy Far Far Away

    Slave Boy Fi

    12 HAZİRAN 2009
  • Valdorsha

    Valdorsha

    8 Mayıs 2006