2016-02-10 9 views
51

Diese Frage ist, während Postmaster Ihre Abfrage im Hintergrund ausführt, wie man es tötet oder stoppt?Wie man eine Abfrage in postgresql stoppt/killt?

Zum Beispiel könnte Ihre Shell oder irgendein Frontend aufgrund eines Netzwerkproblems getrennt sein. Sie können nicht ctrl-D verwenden, um es zu beenden, aber der Hintergrund-Postmaster führt immer noch Ihre Abfrage aus. Wie man es tötet?

Antwort

136

Was habe ich erste Kontrolle ist, was die laufenden Prozesse sind durch

select * from pg_stat_activity where state = 'active'; 

Finden Sie den Prozess, den Sie töten wollen, dann geben Sie:

select pg_cancel_backend(<pid of the process>) 

Wenn der Prozess nicht getötet werden kann, versuchen:

select pg_terminate_backend(<pid of the process>) 
Verwandte Themen