Vraag Hoe actieve verbindingen en "huidige activiteit" in PostgreSQL 8.4 te zien


Ik onderzoek een probleem waarbij DB-verbindingen voor onbepaalde tijd open blijven staan, waardoor er problemen optreden op de DB-server. Hoe zie ik momenteel geopende verbindingen met een PostgreSQL-server, met name die met een specifieke database? In het ideale geval zou ik willen zien welk commando daar ook wordt uitgevoerd. Kortom, ik ben op zoek naar iets dat gelijk is aan de weergave "Huidige activiteit" in MSSQL.


66
2018-03-31 23:06


oorsprong


van PostgreSQL 9.0 op je ziet zelfs de naam van de applicatie die het probleem veroorzaakt. misschien is dit nuttig voor toekomstige controles. - postgresql007


antwoorden:


Oké, ik heb het van iemand anders gekregen. Deze zoekopdracht doet de truc:

select *
from pg_stat_activity
where datname = 'mydatabasename'

91
2018-03-31 23:33





Zie ook pg-top, die als top werkt, behalve dat het postgres-activiteit laat zien.

  • Installeer pg-top (in Debian wordt het pakket "ptop" genoemd).
  • Word de postgres-gebruiker (bijv. sudo su postgres)
  • Rennen pg_top

15
2017-11-29 18:29



Kan het werken zonder root-toegang op de machine? - EMP
@Evgeny, Voor zover ik weet, moet je ingelogd zijn als de gebruiker van postgres. Dat zou mogelijk moeten zijn zonder root-toegang. - Wayne Conrad


Verwijzing uit dit artikel. 

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();

8
2018-02-09 20:11



query en pid werden genoemd current_query en procpid, en state is niet beschikbaar in pg_stat_activity voorafgaand aan PostgreSQL 9.2. - cpburnz


PostgreSQL ASH Viewer (PASH Viewer) biedt een grafische weergave van actieve sessiegeschiedenisgegevens. https://github.com/dbacvetkov/PASH-Viewer Het is gratis en open source.

ScreenShot


0
2018-06-25 15:46