En kraftig funksjon om PostgreSQL er muligheten til å hente informasjon i minimale SQL -spørsmål. Det er fordi det har skjemaer og tabeller som er godt organisert og forbeholdt spesifikk informasjon, inkludert overvåking av serveraktivitet.
Denne opplæringen vil lede deg gjennom forskjellige måter å identifisere serverforbindelser og aktiviteter ved hjelp av serveren. Dette kan hjelpe deg med å identifisere tilkoblingene, administrere dem eller avslutte dem hvis de ikke er nyttige.
PostgreSQL -systemkatalogen
Før vi kommer til å spørre PostgreSQL for aktive tilkoblinger på serveren, la oss forstå hvor denne informasjonsinnsamlingen skjer.
PostgreSQL inneholder et skjema med tabeller og visninger befolket med metadatainformasjon om andre objekter på serveren. Som ligner på informasjons_schema -tabellen i mysql.
Systemkatalogskjemaet lar deg samle informasjon om systemet, inkludert systemprosesser, indekser, tabelltilgang, metode for datatilgang og mange flere.
Siden systemkatalogen er massiv og inneholder masse og masse informasjon, kan vi ikke dekke den i en artikkel. Imidlertid er det en tabell som vi er interessert i: PG_STAT_ACTIVITY.
Denne tabellen viser en logg over tilkoblinger som er etablert til serveren og deres tilsvarende data, databasen koblet til, PID for dens tilsvarende prosess, og så mye mer.
PG_STAT_ACTIVITY
Informasjonen vi kan samle fra tabellen PG_STAT_ACTIVITY inkluderer følgende
Med den informasjonen kan vi nå spørre detaljert informasjon om aktive tilkoblinger på serveren.
Hvordan spørre aktive tilkoblinger
For å spørre om aktive tilkoblinger, starter vi med å logge inn på serveren. Hvis du bruker standard PostgreSQL -installasjon, bruk PSQL med brukernavnet og passordet ditt som
PSQL -U Postgres -WSkriv inn "hjelp" for å få hjelp.
La oss starte med å samle all informasjonen fra PG_STAT_ACTIVITY -tabellen. Bruk spørringen som vist nedenfor
Velg * fra PG_STAT_ACTIVITY;Når du har utført spørringen ovenfor, vil PostgreSQL dumpe mye informasjon om deg, de fleste av dem trenger du kanskje ikke. For å løse dette kan vi velge spesifikke kolonner som vist i spørringen nedenfor:
Velg Datname som Database_Name,Dette vil bare velge den nødvendige informasjonen og organisere den på en tabellform, som vist på skjermbildet.
Til slutt kan vi filtrere der statusen ikke er lik aktiv for å bare samle de aktive tilkoblingene.
Spørringen for det er:
Velg Datname som Database_Name,Dette vil vise en utgang som ligner den som er vist nedenfor:
Endelig er en enkel måte å få lignende informasjon å bruke pgadmin. PGADMIN er et kraftig GUI -administrasjonsverktøy for PostgreSQL -databasen.
Når du logger deg på pgadmin, navigerer du til dashbordet og går til server_aktivitet. Oppdater for å vise deg alle tilkoblingene.
Konklusjon
Denne guiden så på hvordan du spurte tilkoblingsaktiviteter fra PostgreSQL ved å bruke PG_STAT_ACTIVITIVITIVE TABLE og PGADMIN.