Una potente caratteristica di PostgreSQL è la possibilità di recuperare informazioni in query minime SQL. Questo perché ha schemi e tabelle ben organizzate e riservate per informazioni specifiche, incluso il monitoraggio dell'attività del server.
Questo tutorial ti guiderà attraverso vari modi per identificare le connessioni e le attività del server utilizzando il server. Questo può aiutarti a identificare le connessioni, gestirle o terminarle se non sono utili.
Il catalogo del sistema postgresql
Prima di poter interrogare PostgreSQL per connessioni attive sul server, facciamo capire dove si verificano questa raccolta di informazioni.
PostgreSQL contiene uno schema con tabelle e viste popolate con informazioni sui metadati su altri oggetti nel server. Questo è simile alla tabella Information_Schema in MySQL.
Lo schema del catalogo del sistema consente di raccogliere informazioni sul sistema, inclusi processi di sistema, indici, accesso alla tabella, metodo di accesso ai dati e molti altri.
Poiché il catalogo del sistema è enorme e contiene carichi e carichi di informazioni, non possiamo coprirlo in un articolo. Tuttavia, esiste una tabella a cui siamo interessati: PG_STAT_ACTIVITY.
Questa tabella mostra un registro delle connessioni stabilite al server e ai dati corrispondenti, al database collegato, al PID del suo processo equivalente e molto di più.
PG_STAT_ACTIVITY
Le informazioni che possiamo raccogliere dalla tabella PG_STAT_ACTIVITY includono quanto segue
Con tali informazioni, ora possiamo interrogare informazioni dettagliate sulle connessioni attive nel server.
Come interrogare le connessioni attive
Per interrogare per connessioni attive, iniziamo accedendo al server. Se si utilizza l'installazione di PostgreSQL predefinita, utilizzare PSQL con il nome utente e la password come
Psql -u Postgres -wDigita "aiuto" per l'aiuto.
Iniziamo raccogliendo tutte le informazioni dalla tabella PG_STAT_ACTIVITY. Usa la query come mostrato di seguito
Seleziona * da pg_stat_activity;Una volta eseguita la query sopra, PostgreSQL scaricherà molte informazioni su di te, la maggior parte delle quali potresti non aver bisogno. Per risolvere questo problema, possiamo selezionare colonne specifiche come mostrato nella query seguente:
Seleziona DatName come database_name,Questo selezionerà solo le informazioni necessarie e le organizzerà in modo tabulare, come mostrato nello screenshot.
Infine, possiamo filtrare laddove lo stato non è uguale a attivo per raccogliere solo le connessioni attive.
La domanda per questo è:
Seleziona DatName come database_name,Questo mostrerà un output simile a quello mostrato di seguito:
Infine, un modo semplice per ottenere informazioni simili è usare pgadmin. PGADMIN è un potente strumento di amministrazione della GUI per il database PostgreSQL.
Una volta effettuato l'accesso a pgadmin, vai alla dashboard e vai su server_activity. Aggiorna per mostrarti tutte le connessioni.
Conclusione
Questa guida ha esaminato come interrogare le attività di connessione da PostgreSQL utilizzando la tabella PG_STAT_ACTIVITY e PGADMIN.