sql >> Database >  >> RDS >> PostgreSQL

Hoe pg_stat_activity te gebruiken?

Zie dit nauw verwante antwoord op vraag "Uitvoertijd Postgres Query" .

pg_stat_activity is een weergave in de pg_catalog schema.

Je kunt het opvragen door SELECT er vanaf te komen zoals elke andere tafel, b.v. SELECT * FROM pg_stat_activity . De man-pagina waarnaar u linkt, legt de kolommen uit.

Soms merk je dat je aan andere tafels wilt deelnemen, zoals pg_class (tabellen), pg_namespace (schema's), enz.

Beperkingen

pg_stat_activity doet niet informatie over back-end geheugengebruik blootleggen. U moet daarvoor voorzieningen op besturingssysteemniveau gebruiken. Maar het doet het wel u de proces-ID, actieve gebruiker, momenteel lopende zoekopdracht, activiteitsstatus, tijd waarop de laatste zoekopdracht is gestart, enz. vertellen. Het is goed voor het identificeren van langlopende idle in transaction sessies, zeer langlopende vragen, enz.

Eerlijk gezegd is de ingebouwde monitoring van PostgreSQL nogal rudimentair. Het is een van de gebieden waar het niet zo spannend is om aan te werken, en commerciële klanten zijn vaak niet bereid om het te financieren. De meeste mensen koppelen tools zoals check_postgres met Icinga en Munin, of gebruik Zabbix of andere externe controlemiddelen.

In jouw geval klinkt het alsof je echt pg_stat_statements . wilt , en/of PgBadger log-analyse met geschikte logging-instellingen en mogelijk de auto_explain module.



  1. Tel rijen per uur in SQL Server met volledige datum-tijdwaarde als resultaat

  2. Hoe te ontsnappen aan het vraagteken (?) -teken met Spring JpaRepository

  3. Voeg veel rijen samen tot een enkele tekenreeks met groepering

  4. Tips voor het bewaken van MariaDB-replicatie met ClusterControl