Comment faire pour supprimer une base de données PostgreSQL si il y a des connexions actives à elle?

J'ai besoin d'écrire un script qui fera tomber une base de données PostgreSQL. Il peut y avoir un grand nombre de connexions, mais le script doit en tenir compte.

La norme DROP DATABASE db_name requête ne fonctionne pas quand il y a des connexions ouvertes.

Comment puis-je résoudre le problème?

  • Quelle est la version de PostgreSQL êtes-vous?
  • J'utilise PostgreSQL 8.4
  • Problème: Alors que vous pouvez tuer les sessions connectées à la base de données, ils peuvent se reconnecter si rapidement que vous ne pouvez toujours pas supprimer la base de données. Heureusement ce post montre comment lock-out, de nouvelles connexions, de sorte que vous pouvez tuer les connexions en cours et supprimer la base de données selon le plan: dba.stackexchange.com/questions/11893/...
  • J'ai trouvé cette réponse sur dba.stackexchange être très utile dba.stackexchange.com/a/11895/163539 -- succincte mais suffisamment explicites.