PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

pgAdmin-Alternativen - PostgreSQL-Datenbankverwaltungs-GUI ClusterControl

In der Datenbankverwaltung werden viele Tools verwendet, die dabei helfen, die Verwaltung von Open-Source-Datenbanken zu vereinfachen. Der Vorteil bei der Verwendung dieser Arten von Anwendungen sind die Verfügbarkeitsmenüs von verschiedenen Objekten in der Datenbank (wie Tabellen, Indizes, Sequenzen, Prozeduren, Ansichten, Trigger), sodass Sie bei Verwendung eines nativen Datenbankclients nicht die Befehlszeile verwenden müssen . Blättern Sie einfach durch das Menü und es erscheint sofort auf dem Bildschirm.

In diesem Blog werden wir eine Datenbankverwaltungsanwendung eines Drittanbieters für PostgreSQL namens pgAdmin besprechen. Es ist ein Open-Source-Datenbankverwaltungstool, das für die Datenbankverwaltung nützlich ist und von der Erstellung von Tabellen, Indizes, Ansichten, Triggern und gespeicherten Prozeduren reicht. Außerdem kann pgAdmin die Datenbank auch auf Informationen zu Sitzungen, Transaktionen pro Sekunde und Sperren überwachen.

pgAdmin-Überwachung

Es gibt einige Metriken in pgAdmin, die wertvolle Einblicke geben können, um den aktuellen Zustand der Datenbank zu verstehen. Hier sind die Anzeigemetriken auf pgAdmin.

Im Dashboard können Sie Informationen zu eingehenden Verbindungen zur Datenbank überwachen über Serversitzungen. Informationen zu Commit-Transaktionen, Rollbacks und Gesamttransaktionen pro Sekunde in der Datenbank können im Bildschirm „Transaktionen pro Sekunde“ angezeigt werden. Tuples in enthält Informationen zu den insgesamt in der Datenbank eingefügten, aktualisierten und gelöschten Tupeln. Ausgehende Tupel enthalten Tupelinformationen, die von der Datenbank an den Client zurückgegeben werden. Tupel selbst ist in PostgreSQL ein Begriff für Zeilen. Metrics Block I / O enthält Informationen zu Festplatteninformationen, sowohl insgesamt gelesene als auch abgerufene Blöcke aus dem Datenbankcache.

Serveraktivität enthält Informationen zu laufenden Sitzungen, Sperren, die in der Datenbank auftreten, vorbereitete Anweisungen aus Abfragen und Datenbankkonfiguration. Wie im Bild unten gezeigt.

In den Eigenschaften können Sie Informationen zur gerade erstellten PostgreSQL-Datenbank sehen auf die zugegriffen wurde, wie Datenbankname, Servertyp, Datenbankversion, IP-Adresse und verwendeter Benutzername.

Die SQL enthält Informationen zu dem generierten SQL-Skript, das aus einem ausgewählten Objekt erstellt wurde wie folgt:

Die Informationen im hervorgehobenen Objekt werden sehr detailliert angezeigt, wie sie enthalten sind ein Skript zum Rekonstruieren eines Objekts.

Auf der Registerkarte "Statistiken" werden die Informationen zu Statistiken, die von jedem in der Datenbank ausgeführten Objekt gesammelt wurden, im Menü angezeigt.

Als Beispiel enthält die obige Tabelle Informationen zu Tupeln (eingefügt, aktualisiert , gelöscht, leben, tot). Es gibt auch Informationen zu Vakuum und Autoanalyse.

Vacuum wird ausgeführt, um tote Tupel in der Datenbank zu bereinigen und den von toten Tupeln verwendeten Festplattenspeicher zurückzugewinnen. Während die automatische Analyse funktioniert, um Statistiken zu Objekten zu generieren, kann der Optimierer den Ausführungsplan einer Abfrage genau bestimmen.

ClusterControl PostgreSQL-Überwachung

ClusterControl verfügt über verschiedene Metriken in Bezug auf die PostgreSQL-Datenbank, die auf den Registerkarten Übersicht, Knoten, Dashboard, Abfrageüberwachung und Leistung zu finden sind. Die folgenden Metriken werden in ClusterControl angezeigt.

Der Abschnitt „Übersicht“ enthält Informationen zu Serverlastmetriken, die von Verbindung bis Nummer reichen von Einfügen, Löschen, Aktualisieren, Commit &Rollback und Verbindung. Darüber hinaus gibt es Informationen wie Integritätsknoten, den Replikationsstatus der PostgreSQL-Datenbank und auch Informationen zur Serverauslastung, wie in der folgenden Abbildung dargestellt.

Die Registerkarte "Knoten" bietet diagrammbezogene Informationen auf der Serverseite, beginnend mit der CPU Auslastung, Arbeitsspeicher, Festplattennutzung, Netzwerk- und Swap-Nutzung.

Das Dashboard verfügt über mehrere Metrikoptionen wie Systemübersicht, Clusterübersicht und PostgreSQL-Übersicht. Für jede Option gibt es verschiedene Metriken, die sich auf den Zustand des laufenden Systems beziehen. Beispielsweise gibt es in den PostgreSQL-Übersichtsmetriken Informationen, die von Durchschnittslast aus der Datenbank, verfügbarem Speicher und Netzwerkübertragung und -empfang reichen, wie unten gezeigt.

Der Abfragemonitor enthält Informationen zu ausgeführten Abfragen, die in der Datenbank ausgeführt werden. Wir können herausfinden, welche Abfragen ausgeführt werden, wie lange die Ausführungszeit ist, die Adressinformationen des Quellclients und den Status der Sitzung. Außerdem gibt es eine Kill-Session-Funktion, mit der wir die Sitzung beenden können, die zu Verzögerungen in der Datenbank führt. Das Folgende ist die Anzeige von Query Monitor:  

Zusätzlich zur Ausführung von Abfragen können wir auch Abfragestatistikinformationen anzeigen, beginnend vom Zugriff durch sequenziellen oder Index-Scan, Tabellen-I/O-Statistiken, Index-I/O-Statistiken, Datenbankgröße, Top 10 der größten Tabellen.

Die Registerkarte Leistung enthält Informationen zu Datenbankvariablen und dem aktuell ausgeführten Wert, außerdem gibt es einen Ratgeber, der Eingaben in Bezug auf die Nachverfolgung der aufgetretenen Warnung bereitstellt.

Das Wachstum von Datenbanken und Tabellen kann auch im Menü „DB-Wachstum“ überwacht werden. Sie können den Speicherbedarf oder andere Aktionen vorhersagen, die ausgeführt werden, indem Sie die Metriken des Wachstums dieser Datenbanken und Tabellen analysieren.

PostgreSQL-Verwaltungsaufgaben mit pgAdmin

pgAdmin hat verschiedene Funktionen für die Datenbankverwaltung und Objekte, die sich in der Datenbank befinden, angefangen beim Erstellen von Tabellen, Indizes, Benutzern und Tablespaces. Die verschiedenen Funktionen von pgAdmin sind sowohl für Entwickler als auch für DBAs sehr nützlich, da sie die Verwaltung von Datenbankobjekten sehr einfach machen. Nachfolgend sehen Sie das Aussehen des Menübaums in pgAdmin.

Sie können einfach mit der rechten Maustaste auf das zu markierende Objekt klicken und dann dort sind Aktionen, die von diesem Objekt aus ausgeführt werden können. Markieren Sie beispielsweise Datenbank, dann können Sie eine neue Datenbank wie folgt erstellen:

Es wird ein Dialogfeld angezeigt, in dem Sie die Informationen zum Datenbanknamen eingeben müssen Eigentümer der zu erstellenden Datenbank, die zu verwendende Kodierung, der Tabellenbereich, der von der Datenbank verwendet wird, Sicherheitszugriff auf die Datenbank.

Auf welche Benutzer Zugriffsrechte haben und welche Privilegien gewährt werden.

PostgreSQL-Verwaltungsaufgaben mit ClusterControl

ClusterControl kann auch Benutzer und Berechtigungen erstellen, die an die Benutzerverwaltung vergeben werden, wie in der folgenden Abbildung gezeigt.

Mit ClusterControl können Sie hochverfügbare PostgreSQL-Datenbanken bereitstellen. Die Verwaltung Ihres PostgreSQL ist so einfach wie ein Klick auf das Menü im Dashboard. Es gibt einige Funktionen zum Verwalten Ihres PostgreSQL auf der Cluster-Seite, wie z. B. Load Balancer hinzufügen, Replikations-Slave hinzufügen, Cluster-Wiederherstellung aktivieren/deaktivieren und Knotenwiederherstellung, wie unten gezeigt.

Sie können auch einen neuen PostgreSQL-Cluster erstellen und ihn aus dem laufenden heraus replizieren Cluster, indem Sie das Menüelement „Create Slave Cluster“ verwenden. Cluster-zu-Cluster-Replikation ist eine neue Funktion, die von ClusterControl bereitgestellt wird.

Auf der Knotenseite gibt es mehrere Datenbankverwaltungsaufgaben, die Sie ausführen können, wie z. B. Host neu starten, Knoten neu starten, Knoten stoppen, Slave hochstufen, Slave stoppen. Sie können über die SSH-Konsole remote auf Ihre Hosts zugreifen.

Rebuild Replication Slave ist eine nette Funktion, um Slave-Server, die darüber hinaus kaputt gegangen sind, automatisch zu reparieren Reparatur. Es stoppt den Slave, löscht seinen Inhalt und streamt ein frisches Backup vom Master-Server. Sobald das Backup angewendet wurde, wird die Replikation wieder aufgenommen, damit sie den Master wieder einholen kann. All dies mit nur einem Klick.

Es gibt auch eine Funktion zur Visualisierung des aktuellen Zustands Ihrer PostgreSQL-Topologiearchitektur in ClusterControl.

Es bietet auf einen schnellen Blick nützliche Informationen über aktuelle PostgreSQL-Cluster wie z B. Latenz zwischen den Knoten, Datenbankverfügbarkeit, Version der von Ihnen verwendeten Datenbank, Synchronisierungsstatus, Replikationsverzögerung.

Sie können auch die Konfiguration in Bezug auf die Datenbankparameter und die ACL-IP-Adresse, die das Recht hat, auf die Datenbank zuzugreifen, im Konfigurationsmenü ändern.

Der Betrieb einer verteilten Datenbankumgebung erfordert normalerweise eine Art Lastenausgleich und Verkehrssteuerung , da es mehrere Datenbankinstanzen gibt und Anwendungen nicht nachverfolgen würden, welche der beschreibbare Master und welche die schreibgeschützten Slaves sind. ClusterControl ermöglicht es Ihnen, HAProxy für diesen Zweck zu integrieren. HAProxy selbst kann mit Keepalived hochverfügbar gemacht werden, sodass sich Anwendungen mit einer virtuellen IP-Adresse verbinden können, die an eine andere Instanz weitergegeben wird, falls der primäre HAProxy-Load-Balancer ausfällt.

ClusterControl verfügt über weitere Funktionen wie Betriebsberichte, die wöchentlich oder monatlich Analysen zu Servernutzung, Betriebszeit, Sicherheit und Kapazität liefern. pgAdmin eignet sich hervorragend zum Manipulieren von Objekten in der Datenbank, während ClusterControl eher darauf abzielt, das System zu betreiben und am Laufen zu halten.