Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 06/12/2012 17:06:31
- d_light
- Membre
drop database en postgres 8.2
Bonjour,
J'aimerai supprimer une base de données précise avec la commande drop database ou dropdb mais cela ne fonctionne pas car il y a des connections actives.
psql -c "SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE datname ='$SCHEMA'";
Cela ne sert a rien car je suis en 8.2 et cela ne fonctionne qu'en 8.4
psql -c "SELECT pg_cancel_backend(procpid) FROM pg_stat_activity WHERE datname ='$SCHEMA'";
pg_cancel_backend
-------------------
t
t
t
(3 rows)
Cela kill les sessions actives mais j'enchaine de suite avec un drop database et cela ne fonctionne toujours pas:
database removal failed: ERROR: database "*******" is being accessed by other users
Des idées pour les plus anciens d'entre vous ?
PS: je ne peux pas migrer en 8.4 ou en 9
Merci,
Dernière modification par d_light (06/12/2012 17:06:44)
Hors ligne
#2 06/12/2012 17:27:15
- rjuju
- Administrateur
Re : drop database en postgres 8.2
Bonjour,
avec une version 8.2, soit couper la connexion par le réseau et attendre le timeout, ou faire un kill -15 (surtout pas -9) des connexions restantes. Pas vraiment de solution propre à ma connaissance.
Julien.
https://rjuju.github.io/
Hors ligne
#3 06/12/2012 17:43:55
- d_light
- Membre
Re : drop database en postgres 8.2
Ok, bon je vais tenter de me débrouiller avec ça. Merci rjuju
Hors ligne
#4 06/12/2012 18:15:06
- gleu
- Administrateur
Re : drop database en postgres 8.2
Arrêter le serveur et le redémarrer, c'est la seule solution propre en 8.2.
Guillaume.
Hors ligne
Pages : 1