PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Alternative a pgAdmin - Gestione del database PostgreSQL GUI ClusterControl

Ci sono molti strumenti utilizzati in Amministrazione database che aiutano a semplificare la gestione dei database open source. Il vantaggio dell'utilizzo di questi tipi di applicazioni è la disponibilità dei menu da vari oggetti nel database (come tabelle, indici, sequenze, procedure, viste, trigger) in modo da non dover utilizzare la riga di comando quando si utilizza un client di database nativo . Basta semplicemente sfogliare il menu e apparirà immediatamente sullo schermo.

In questo blog esamineremo una delle applicazioni di gestione dei database di terze parti per PostgreSQL chiamata pgAdmin. È uno strumento di gestione del database open source utile per l'amministrazione del database, che va dalla creazione di tabelle, indici, viste, trigger, stored procedure. Oltre a ciò, pgAdmin può anche monitorare il database per informazioni relative a sessioni, transazioni al secondo e blocco.

Monitoraggio pgAdmin

Ci sono alcune metriche in pgAdmin che possono essere preziose informazioni per comprendere lo stato attuale del database. Ecco le metriche di visualizzazione su pgAdmin.

Nella dashboard è possibile monitorare le informazioni relative alle connessioni in entrata al database attraverso le sessioni del server. Le informazioni relative alle transazioni di commit, ai rollback e alle transazioni totali al secondo nel database possono essere visualizzate nella schermata Transazioni al secondo. Tuple in contiene informazioni relative alle tuple totali inserite, aggiornate, eliminate nel database. Le tuple out contengono informazioni sulle tuple che vengono restituite al client dal database. Tuples stesso è un termine in PostgreSQL per righe. Metrics Block I/O contiene informazioni relative alle informazioni sul disco, sia i blocchi totali letti che recuperati dalla cache del database.

L'attività del server contiene informazioni relative alle sessioni in esecuzione, al blocco che si verifica nel database, alle istruzioni preparate dalle query e alla configurazione del database. Come mostrato nell'immagine qui sotto.

In Proprietà, puoi vedere le informazioni relative al database PostgreSQL che viene cui si accede, come il nome del database, il tipo di server, la versione del database, l'indirizzo IP e il nome utente utilizzato.

L'SQL contiene informazioni relative allo script SQL generato creato da un oggetto selezionato come segue:

Le informazioni nell'oggetto evidenziato vengono visualizzate in modo molto dettagliato, poiché contengono uno script per ricostruire un oggetto.

Nella scheda Statistiche, nel menu vengono visualizzate le informazioni relative alle statistiche raccolte da ciascun oggetto in esecuzione nel database.

A titolo di esempio, la tabella sopra contiene informazioni relative alle Tuple (inserite, aggiornate , cancellato, vivo, morto). Ci sono anche informazioni relative al vuoto e all'analisi automatica.

Vacuum viene eseguito per pulire le tuple morte nel database e recuperare lo spazio di archiviazione su disco utilizzato dalle tuple morte. Mentre le funzioni di analisi automatica generano statistiche sugli oggetti in modo che l'ottimizzatore possa determinare con precisione il piano di esecuzione di una query.

Monitoraggio PostgreSQL di ClusterControl

ClusterControl ha varie metriche relative al database PostgreSQL che possono essere trovate nelle schede Panoramica, Nodi, Dashboard, Query Monitor e Prestazioni. Le seguenti metriche vengono visualizzate in ClusterControl.

La sezione Panoramica contiene informazioni relative alle metriche di carico del server che vanno da connessione, numero di inserimento, eliminazione, aggiornamento, commit e rollback e connessione. Inoltre, sono presenti informazioni come i nodi di integrità, lo stato di replica del database PostgreSQL e anche informazioni relative all'utilizzo del server, come mostrato nella figura seguente.

La scheda Nodi fornisce informazioni relative ai grafici sul lato server a partire dalla CPU Utilizzo, memoria, utilizzo del disco, rete e utilizzo dello scambio.

Il dashboard ha diverse opzioni di metriche come Panoramica del sistema, Panoramica del cluster e Panoramica di PostgreSQL. Per ciascuna opzione sono disponibili diverse metriche relative alla condizione del sistema in esecuzione. Ad esempio, nelle metriche Panoramica di PostgreSQL, sono presenti informazioni che vanno da Medie di carico dal database, Memoria disponibile e Trasmissione e ricezione di rete come mostrato di seguito.

Il Query Monitor contiene informazioni relative all'esecuzione di query eseguite sul database. Possiamo scoprire quali query sono in esecuzione, quanto tempo è il tempo di esecuzione, informazioni sull'indirizzo del client di origine e lo stato della sessione. Oltre a ciò, c'è una funzione Kill session, in cui possiamo terminare la sessione che causa ritardi nel database. Quella che segue è la visualizzazione di Query Monitor:  

Oltre a eseguire query, possiamo anche visualizzare le informazioni sulle statistiche delle query, a partire da Accesso per scansione sequenziale o indice, Statistiche I/O tabella, Statistiche I/O indice, Dimensione database, Le prime 10 tabelle più grandi.

La scheda Performance contiene informazioni relative alle variabili del database e al valore attualmente in esecuzione, oltre a un Advisor per fornire input relativi al follow-up dell'avviso che si è verificato.

La crescita di database e tabelle può essere monitorata anche dal menu Crescita DB, è possibile prevedere le esigenze di archiviazione o altre azioni che verranno eseguite analizzando le metriche di crescita di tali database e tabelle.

Attività di amministrazione PostgreSQL con pgAdmin

pgAdmin ha varie funzioni per l'amministrazione del database e gli oggetti che si trovano nel database che vanno dalla creazione di tabelle, indici, utenti e tablespace. Le varie funzionalità di pgAdmin sono molto utili sia per lo sviluppatore che per il DBA, perché rendono molto semplice la gestione degli oggetti del database. Di seguito è riportato l'aspetto della struttura del menu in pgAdmin.

Puoi semplicemente fare clic con il tasto destro sull'oggetto da evidenziare, quindi lì saranno azioni che possono essere eseguite da quell'oggetto. Ad esempio, evidenziando Database, puoi creare un nuovo database come questo:

Ci sarà una finestra di dialogo per inserire le informazioni sul nome del database, il proprietario del database da creare, la codifica che verrà utilizzata, il tablespace che verrà utilizzato dal database, l'accesso di sicurezza al database.

Quali utenti hanno il diritto di accedere e quali privilegi verranno assegnati.

Attività di amministrazione PostgreSQL con ClusterControl

ClusterControl può anche creare utenti e privilegi che verranno assegnati a Gestione utenti come mostrato nella figura seguente.

Con ClusterControl puoi distribuire database PostgreSQL ad alta disponibilità. Gestire il tuo PostgreSQL è facile come fare clic sul menu nella dashboard. Esistono alcune funzionalità per l'amministrazione di PostgreSQL sul lato cluster, come Aggiungi Load Balancer, Aggiungi Replication Slave, Abilita/Disabilita Cluster Recovery e Node Recovery, come mostrato di seguito.

Puoi anche creare un nuovo cluster PostgreSQL e farlo replicare dal cluster, utilizzando la voce di menu Crea cluster di slave. La replica da cluster a cluster è una nuova funzionalità fornita da ClusterControl.

Nel lato Node, ci sono diverse attività amministrative del database che puoi eseguire, come Reboot Host, Restart Node, Stop Node, Promuovi Slave, Stop Slave. Puoi accedere ai tuoi host da remoto tramite SSH Console.

Rebuild Replication Slave è un'ottima funzionalità per riparare automaticamente i server slave che sono andati oltre riparazione. Arresta lo slave, cancella il suo contenuto e trasmette in streaming un nuovo backup dal server master. Una volta applicato il backup, la replica viene ripresa in modo da poter recuperare nuovamente il ritardo con il master. Tutto questo con un semplice clic.

C'è anche una funzione per visualizzare lo stato attuale della tua architettura PostgreSQL Topology in ClusterControl.

Fornisce, a colpo d'occhio, informazioni utili sull'attuale cluster PostgreSQL come come latenza tra i nodi, tempo di attività del database, versione del database che utilizzi, stato di sincronizzazione, ritardo di replica.

Puoi anche modificare la configurazione relativa ai parametri del database e l'indirizzo ip ACL che ha il diritto di accedere al database nel menu Configurazione.

L'esecuzione di un ambiente di database distribuito di solito richiede una sorta di bilanciamento del carico e controllo del traffico , poiché esistono più istanze di database e le applicazioni non tengono traccia di quale sia il master scrivibile e quali siano gli slave di sola lettura. ClusterControl consente di integrare HAProxy per questo scopo. HAProxy stesso può essere reso altamente disponibile utilizzando Keepalived, in modo che le applicazioni possano connettersi utilizzando un indirizzo IP virtuale che viene trasferito a un'altra istanza nel caso in cui il sistema di bilanciamento del carico HAProxy primario si interrompa.

ClusterControl ha altre funzionalità come i report operativi, che forniscono analisi sull'utilizzo del server, sui tempi di attività, sulla sicurezza e sulla capacità su base settimanale o mensile. pgAdmin è ottimo per manipolare gli oggetti nel database, mentre ClusterControl è più mirato a far funzionare il sistema e mantenerlo attivo.