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

  • Jose LviS el Bambino ( JLB )   LviSito

    Jose LviS el

    3 ŞUBAT 2008
  • Bennythecoder

    Bennythecode

    25 Mart 2008
  • ecf150king

    ecf150king

    20 Ocak 2006