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

  • Shameless Maya

    Shameless Ma

    24 Mayıs 2012
  • The Exploiteers

    The Exploite

    4 Ocak 2011
  • YAN TV

    YAN TV

    20 EKİM 2011