Datenbank-Cluster in PostgreSQL
- Was ist ein Datenbankcluster
- Vorteile eines Datenbank-Clusters
- Wie funktioniert ein Datenbank-Cluster in PostgreSQL
- Abschluss
Dieser Artikel beschreibt einen Datenbank-Cluster und wie man ihn in PostgreSQL erstellt. Oft verwechseln Menschen diesen Begriff und können sein Konzept nicht verstehen.
Dieser Artikel wurde formuliert, um das Konzept eines Datenbankclusters zu erweitern.
Befehle zum Erstellen und Einrichten eines Datenbank-Clusters sind in diesem Artikel enthalten, damit Sie sofort damit beginnen können. Befolgen Sie genau die im Artikel genannten Befehle.
Hinweis: Die im Artikel erwähnten Befehle wurden auf Ubuntu getestet und funktionieren möglicherweise nicht richtig auf anderen Betriebssystemen.
Was ist ein Datenbankcluster
Lassen Sie uns den Begriff “Datenbank-Cluster” in einfachen Worten verstehen. Mehrere Server oder Instanzen, die sich mit einer einzigen Datenbank verbinden, werden als Datenbank-Clustering bezeichnet.
Hinweis: Eine Instanz ist eine Gruppe, die physische Dateien zum Speichern der Daten enthält. Es kann als eine Reihe von Speichern und Prozessen definiert werden, die mit einer Datenbank interagieren.
Mit anderen Worten, ein Datenbank-Cluster kann als Gruppe mehrerer Datenbanken definiert werden, die von nur einer einzigen Instanz eines laufenden Datenbankservers verwaltet werden.
Jeder Datenbank-Cluster hat eine separate Konfiguration und arbeitet mit einer anderen Portnummer. Beispielsweise könnten Sie einen Datenbank-Cluster haben, der PostgreSQL v9.4
verwendet und drei zugeordnete Datenbanken hat.
Alle Datenbanken im Cluster würden dieselbe vom Cluster bereitgestellte Konfiguration verwenden, z. B. die Größe des Verbindungspools, die Puffergröße, die Anzahl der zulässigen Verbindungen usw.
Ebenso arbeiten zahlreiche andere Cluster mit einer anderen PostgreSQL-Version und haben andere Konfigurationen.
Vorteile eines Datenbank-Clusters
Datenbank-Clustering hat mehrere Vorteile. Einige der Hauptvorteile sind unten aufgeführt.
- Lastenausgleich oder Datenbankskalierbarkeit
- Erhöhte Datenbankverfügbarkeit
- Datenredundanz, die eine Datensicherung ermöglicht
- Überwachung und Automatisierung der Datenbank
Wie funktioniert ein Datenbank-Cluster in PostgreSQL
Um mit dem Erstellen eines Clusters in PostgreSQL zu beginnen, müssen Sie einen Speicherbereich für die Datenbank auf der Festplatte initialisieren.
Nach der Initialisierung würde im Cluster eine Datenbank namens postgres
eingerichtet, die als Standarddatenbank fungiert, die von Anwendungen, Benutzern und Dienstprogrammen von Drittanbietern verwendet wird.
Zusätzlich zur Standarddatenbank wird innerhalb jedes Clusters eine weitere Datenbank mit dem Namen template1
angelegt. Diese Datenbank wird nicht für die eigentliche Arbeit verwendet; Stattdessen wird es als Vorlage für Datenbanken verwendet, die später im Cluster erstellt werden.
Ein Datenbank-Cluster fungiert als ein einziges Verzeichnis zum Speichern aller Daten, das als Datenverzeichnis
oder Datenbereich
bezeichnet wird.
Erstellen oder initialisieren Sie den Datenbank-Cluster
Sie können den Datenbank-Cluster mit den folgenden Befehlen an einem beliebigen Ort Ihrer Wahl initialisieren.
$ initdb -D /usr/local/pgsql/data
Hinweis: Der Befehl muss nach dem Einloggen in das PostgreSQL-Benutzerkonto ausgeführt werden.
Der zweite Befehl hilft auch beim Erstellen (Initialisieren) eines Datenbank-Clusters.
$ pg_ctl -D /usr/local/pgsql/data initdb
Beide Befehle erstellen ein Verzeichnis am gewünschten Ort.
Anzahl aktiver Datenbankcluster
Nach dem Erstellen eines Clusters möchten Sie möglicherweise die aktive Anzahl von Clustern auf Ihrem Betriebssystem zählen. Dazu können Sie den folgenden Befehl verwenden.
$ pg_lsclusters
Der Befehl gibt eine Liste aktiver Cluster, ihren Status, Portnummern, Namen, Verzeichnisorte usw. zurück. Der Befehl informiert auch darüber, ob jeder Cluster aktiv oder offline ist.
Dies ist eine wesentliche Information, die beim Herstellen einer Verbindung zu einem Cluster erforderlich ist. Sie können sich nur mit aktiven Clustern verbinden, anstatt mit Offline-Clustern.
Verbinden Sie sich mit einem anderen Datenbank-Cluster
Möglicherweise möchten Sie eine Verbindung zu einem anderen Datenbankcluster herstellen, um die Last auf einem Datenbankserver auszugleichen oder die Leistung des vorhandenen Datenbankservers zu verbessern.
Was auch immer der Grund für die Verbindung der Cluster ist, Sie können den folgenden Befehl verwenden.
$ psql -U postgres -p 5436-h localhost
Es ist wichtig, die richtige Portnummer für den Cluster zu verwenden, zu dem Sie eine Verbindung herstellen, da jeder Cluster eine andere Portnummer hat, auf der er verfügbar ist.
Hinweis: Sie können die Portnummer jedes Clusters mit dem Befehl
pg_lsclusters
überprüfen, der die Liste der aktiven Cluster zusammen mit ihren Informationen zurückgibt.
Bearbeiten Sie den Status des Datenbank-Clusters
Wenn Sie den Status des Datenbank-Clusters von Start bis Stopp oder umgekehrt bearbeiten möchten, können Sie den folgenden Befehl ausführen.
$ pg_ctlcluster 12 main stop
Mit dem Befehl können Sie einen Datenbank-Cluster starten oder stoppen. Im Befehl ist 12
die Versionsnummer der PostgreSQL-Software und main
der Name des Clusters, den Sie bearbeiten.
Datenbankerstellung in einem Cluster
Mit nur einem Befehl können Sie neue Datenbanken in bestehenden Clustern erstellen. Es ist jedoch wichtig, sicherzustellen, dass der Cluster aktiv ist, da Sie eine Verbindung zu ihm herstellen müssen, bevor Sie darin eine neue Datenbank erstellen.
Hinweis: Verwenden Sie den oben erwähnten Befehl
pg_lsclusters
, um zu prüfen, ob der Cluster, in dem Sie eine Datenbank erstellen möchten, aktiv ist oder nicht.
Wenn Sie sicher sind, dass der Cluster aktiv ist, verwenden Sie den folgenden Befehl.
$ CREATE DATABASE mynewdb
Der Befehl erstellt eine neue Datenbank innerhalb des Clusters, mit dem Sie sich verbinden.
Abschluss
Alle Befehle, die zum Erstellen und Ausführen eines Datenbank-Clusters in PostgreSQL erforderlich sind, wurden im Artikel mit einer detaillierten Erklärung erwähnt. Wenn Sie der Diskussion in diesem Artikel folgen, können Sie den Prozess schneller ausführen.
Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!
GitHub