Gestion connections

Compter les connections

 select count(*) from pg_stat_activity;

Supprimer les connections actives

La commande suivante va stopper les connexions à la base sauf la connexion courante:

Il faut pour cela effectuer une requête sur pg_stat_activity pour trouver les valeurs de PID que nous souhaitons killer. La fonction pg_terminate_backend(pid int) effectue cette action.

Pour PostgreSQL 9.1 et plus petit:

SELECT pg_terminate_backend(pg_stat_activity.procpid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'TARGET_DB'
  AND procpid <> pg_backend_pid();

Pour PostgreSQL 9.2 et suivants:

SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'TARGET_DB'
  AND pid <> pg_backend_pid();

Une fois les connections supprimées il est possible de supprimer la base avec un DROP DATABASE.

Cet article, publié dans Postgresql, est tagué , , . Ajoutez ce permalien à vos favoris.

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s