Datenbank-Cluster in PostgreSQL

Bilal Shahid 20 Juni 2023
  1. Was ist ein Datenbankcluster
  2. Vorteile eines Datenbank-Clusters
  3. Wie funktioniert ein Datenbank-Cluster in PostgreSQL
  4. Abschluss
Datenbank-Cluster in PostgreSQL

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.

  1. Lastenausgleich oder Datenbankskalierbarkeit
  2. Erhöhte Datenbankverfügbarkeit
  3. Datenredundanz, die eine Datensicherung ermöglicht
  4. Ü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.

Bilal Shahid avatar Bilal Shahid avatar

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