Jednym z zadań administratora jest obserwacja aktywności użytkowników i w skrajnych przypadkach przerwanie niepoprawnych lub zbyt intensywnych zapytań.
Sprawdzenie aktywności można wykonać poleceniem
SELECT * FROM pg_stat_activity;
W odpowiedzi zostanie zwrócony data set zawierający informacje o tym kto i co w danej chwili robi na serwerze:
Jako administrator masz 2 możliwości potraktowania „niegrzecznego” użytkownika:
- można zakończyć tylko wykonanie samego zapytania, ale pozostawić sesję
SELECT pg_cancel_backend(5360);
- można zakończyć sesję i wszystkie powiązane z nią aktywności
SELECT pg_terminate_backend(5360);
Takie wymuszone kończenie sesji użytkownika przyda się z pewnością przed wykonaniem niektórych operacji na bazie danych jak np. restore.
Łączenie ze sobą składni SELECT z wywołaniem funkcji pozwala w bajecznie prosty sposób zabić sesje związane z jedną bazą danych:
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'northwind'