Vous n'êtes pas identifié(e).

#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.

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

Pied de page des forums