Stop (long) cours d'exécution de la requête SQL dans PostgreSQL lors de la session ou des demandes n'existent plus?
Je ne suis pas sûr où commencer à répondre à cette question, mais si j'ai un AJAX web application qui envoie des requêtes au serveur et exécute long des requêtes sur la base de données (postgresql dans mon cas), est-il un moyen de les arrêter ou de tuer les requêtes si pendant l'exécution, l'utilisateur actualise la page ou de la fermeture de la session...etc?
- merci pour la réponse de Frank. J'ai trouvé ma voie dans Django par l'extension de la db.backends pour traiter le problème.
- Voir aussi à ne pas faire, et pourquoi: serverfault.com/q/415188/102814
- hey Craig, merci pour l'info!
Vous devez vous connecter pour publier un commentaire.
Pour arrêter la requête:
De tuer la connexion de base de données:
Pour obtenir une vue d'ensemble des transactions courantes, pour obtenir le procèdent id:
http://www.postgresql.org/docs/current/interactive/functions-admin.html
Compte tenu de votre psql configuré pour s'exécuter et se connecter à courant dev base de données présente un liner est très utile dans le développement lors de l'essai de requêtes compliquées qui peuvent hung, tue juste quelque pistes:
Si pas configuré correctement - ajouter les options d'utilisateur/mot de passe/base de données
psql -c "SELECT procpid FROM pg_stat_activity;" -t | xargs -n1 -I {} psql -c "SELECT pg_cancel_backend({})"