Вопрос: Как видеть активные соединения и «текущую активность» в PostgreSQL 8.4


Я изучаю проблему с тем, что соединения DB остаются открытыми на неопределенный срок, вызывая проблемы на сервере БД. Как просмотреть открытые соединения с сервером PostgreSQL, в частности, с использованием конкретной базы данных? В идеале я хотел бы видеть, какая команда там выполняется. В принципе, я ищу что-то, что эквивалентно представлению «Текущая активность» в MSSQL.


59
2018-03-31 23:06


Источник


из PostgreSQL 9.0 вы даже увидите имя приложения, вызывающего проблему. возможно, это полезно для будущих проверок. - postgresql007


Ответы:


Хорошо, получил это от кого-то другого. Этот запрос делает трюк:

select *
from pg_stat_activity
where datname = 'mydatabasename'

80
2018-03-31 23:33





Смотрите также пг-топ, который действует как верх, за исключением того, что показывает активность postgres.

  • Установите pg-top (в Debian пакет называется «ptop»).
  • Станьте пользователем postgres (например, sudo su postgres)
  • Бег pg_top

14
2017-11-29 18:29



Может ли он работать без корневого доступа на машине? - EMP
@Evgeny, насколько я знаю, вы должны войти в систему как пользователь postgres. Это должно быть возможно без корневого доступа. - Wayne Conrad


Ссылка, взятая из этой статьи. 

SELECT 
    pid
    ,datname
    ,usename
    ,application_name
    ,client_hostname
    ,client_port
    ,backend_start
    ,query_start
    ,query  
FROM pg_stat_activity
WHERE state <> 'idle'
AND pid<>pg_backend_pid();

7
2018-02-09 20:11



query а также pid были названы current_query а также procpid, а также state в pg_stat_activity до PostgreSQL 9.2. - cpburnz


PostgreSQL ASH Viewer (PASH Viewer) предоставляет графическое представление активных данных истории сеансов. https://github.com/dbacvetkov/PASH-Viewer Это бесплатно и с открытым исходным кодом.

Скриншот


0
2018-06-25 15:46