Andmebaasid II (IDU0230) (sügis 2017)

Küsimus

Anonüümne
Käivitasin PostgreSQLis skripti/päringu/andmemuudatuse, mis "jooksis kinni". Nüüd töötab andmebaasisüsteem aeglaselt ning protsess on lukustanud tabeli/vaate/andmebaasi, mille tulemusena ei saa ma seda muuta ega kustutada. Kuidas "rippuma jäänud" PostgreSQL kasutamise sessioonidest ja nendes algatatud ressursse blokeerivates serveriprotsessidest lahti saada?

Vastus: Lahendust kirjeldatakse siin.

Kokkuvõtlikult:

Tuleb leida konkreetse andmebaasiga seotud sessioonid e seansid. Järgneva päringu võite käivitada tegelikult mistahes PostgreSQLi andmebaasis.

SELECT *
FROM pg_stat_activity
WHERE datname='andmebaasi nimi väiketähtedega';

Katkesta serveriprotsess ja lõpeta selle algatanud sessioon.

SELECT pg_terminate_backend(pid);

Hinda vastust:

Keskmine hinne: Pole veel hinnanguid!