2016-02-10 7 views
51

To pytanie jest, gdy postmaster wyświetla zapytanie w tle, jak je zabić lub zatrzymać?Jak zatrzymać/zabić zapytanie w postgresql?

Na przykład Twoja powłoka lub jakikolwiek frontend może zostać rozłączony z powodu problemu z siecią, nie możesz użyć Ctrl-D, aby go zabić, ale postmaster wciąż wyświetla zapytanie. Jak to zabić?

Odpowiedz

136

Co zrobiłem jest najpierw sprawdzić, jakie są procesów uruchomionych przez

select * from pg_stat_activity where state = 'active'; 

Znajdź procesu, który chcesz zabić, a następnie wpisz:

select pg_cancel_backend(<pid of the process>) 

Jeśli proces nie może zostać zabity, spróbuj:

select pg_terminate_backend(<pid of the process>) 
Powiązane problemy