In diesem Artikel werde ich Ihnen zeigen, wie Sie Postgresql 11 -Replikation einrichten. Lass uns anfangen.
In einem PostgreSQL Replication -Setup haben Sie 2 Arten von Servern. Der Meister Server und der Sklave Server.
Die Datenbankdatensätze der Meister Der Server wird auf die dupliziert Sklave Server. Sie können aus dem lesen Sklave Server verwenden die IP -Adressen der Sklave Server. Sie fügen jedoch nur neue Daten hinzu Meister Server. Die Server sind alle synchronisiert. Also wenn einer der Meister Der Server schlägt fehl, einer der Sklavenserver kann übernehmen und ein neuer Meister werden. So kann PostgreSQL die Datenbankanforderung ohne Unterbrechung bearbeiten, auch wenn einige der Server in a fehlschlagen Meister/Sklave Aufbau.
Netzwerkdiagramm:
Dies ist das Netzwerkdiagramm für das PostgreSQL Meister/Sklave Replikationseinrichtung. Hier habe ich zwei Server, PG-Master ist der Meister PostgreSQL Server und PG-Slave ist der Sklave PostgreSQL Server. Natürlich können Sie mehr haben Sklave Server, aber für Einfachheit halber werde ich einen haben Sklave Server.
Mein PG-Master PostgreSQL Meister Der Server hat die IP -Adresse 192.168.199.137 und das PG-Slave PostgreSQL Sklave Der Server hat die IP -Adresse 192.168.199.138. Denken Sie an diese und nehmen Sie bei Bedarf Änderungen für Ihr Setup vor.
Installieren von PostgreSQL:
Für die Demonstration verwende ich Ubuntu 18.04 LTS -Server. Sie können jede gewünschte Linux -Verteilung verwenden. Nur die Befehle sind ein bisschen anders. Das ist alles.
Sie müssen Postgresql auf allen Servern installieren, die Teil des Replikations -Setups sind. In meinem Fall die beiden Server PG-Master, Und PG-Slave.
Ich werde Ihnen zeigen, wie Sie Postgresql an installieren PG-Master Maschine. Die Schritte sind gleich für die PG-Slave-Maschinen sowie.
Auf der PG-Master Server:
Zuerst müssen Sie das Postgresql -Paket -Repository auf Ihrem Ubuntu -Computer hinzufügen. Führen Sie dazu den folgenden Befehl aus:
$ echo "Deb http: // apt.PostgreSQL.org/pub/repos/apt/$ (lsb_release -cs) -pgdg main 11 "|
sudo tee/etc/apt/Quellen.Liste.D/PGSQL.Liste
Das PostgreSQL -Paket -Repository sollte hinzugefügt werden.
Fügen Sie nun den folgenden Befehl aus, um die GPG -Taste des PostgreSQL -Paket -Repositorys hinzuzufügen:
$ wget -quiet -o -https: // www.PostgreSQL.org/media/keys/ACCC4CF8.ASC | sudo apt-key add -
Der GPG -Schlüssel sollte hinzugefügt werden.
Aktualisieren Sie nun die GEEIGNET Paket -Repository -Cache mit dem folgenden Befehl:
$ sudo APT Update
Der GEEIGNET Paket -Repository -Cache sollte aktualisiert werden.
Installieren Sie nun den PostgreSQL -Datenbankserver mit dem folgenden Befehl:
Für Postgresql 10 (neueste Stabilität):
$ sudo APT installieren Sie Postgresql-10Für Postgresql 11 (derzeit bei Beta):
$ sudo APT installieren Sie Postgresql-11Jetzt drücken y und dann drücken Sie weitermachen.
PostgreSQL sollte installiert werden.
Setzen Sie das Passwort für die Postgres Benutzer mit dem folgenden Befehl:
$ sudo passwd postgresGeben Sie nun das Passwort ein. Es sollte festgelegt werden.\
Denken Sie nun daran, dasselbe mit dem zu tun PG-Slave Server bevor Sie fortfahren.
Einrichten des Master PostgreSQL Servers:
Melden Sie sich jetzt als die an Postgres Benutzer:
$ su - Postgres
Erstellen Sie nun einen neuen Benutzer Reproduzieren:
$ psql -c "Erstellen Sie die Replikationsreplikationsanmeldungsbegrenzung der Benutzerreplikation 1 verschlüsseltJetzt offen /etc/postgresql/11/main/pg_hba.Conf mit Nano:
$ nano/etc/postgresql/11/main/pg_hba.ConfFügen Sie der markierten Position die folgende Zeile hinzu:
Replikationsreplikation Host Replication 192.168.199.138/24 MD5Öffnen Sie nun die Haupt -PostgreSQL -Konfigurationsdatei mit Nano:
$ nano/etc/postgresql/11/main/postgresql.ConfFinden und ändern Sie nun die folgenden Einstellungen und ändern Sie nun die folgenden Einstellungen. Wenn eine Zeile kommentiert wird, wenden Sie sich nach Bedarf an (entfernen Sie #).
listen_addresses = 'localhost, 192.168.199.137 'Starten Sie nun Postgresql Server auf Ihrem PG-Master Server:
$ systemctl restart postgresqlKonfigurieren des Slave -Servers:
Auf der PG-Slave Server Login as Postgres Benutzer:
$ su - Postgres
Stoppen Sie den Postgresql -Dienst auf der PG-Slave Server:
$ systemctl stop postgresqlJetzt offen /etc/postgresql/11/main/pg_hba.Conf mit Nano:
$ nano/etc/postgresql/11/main/pg_hba.ConfFügen Sie die folgende Zeile hinzu wie auf der PG-Master Server:
Replikationsreplikation Host Replication 192.168.199.137/24 MD5Öffnen Sie nun die Haupt -PostgreSQL -Konfigurationsdatei mit Nano:
$ nano/etc/postgresql/11/main/postgresql.ConfFinden und ändern Sie nun die folgenden Einstellungen und ändern Sie nun die folgenden Einstellungen. Wenn eine Zeile kommentiert wird, wenden Sie sich nach Bedarf an (entfernen Sie #).
listen_addresses = 'localhost, 192.168.199.138 'Jetzt geh zu dir Data_Directory:
$ cd/var/lib/postgreSQL/11/MainEntfernen Sie alles aus diesem Verzeichnis:
$ rm -rfv *Kopieren Sie nun die Daten aus dem PG-Master Server zum PG-Slave Server Data_Directory:
$ pg_baseBackup -h 192.168.199.137 -d/var/lib/postgresql/11/main/-p -uGeben Sie das Passwort für die ein Postgres Benutzer der PG-Master Server und drücken Sie .
Erstellen Sie nun a Erholung.Conf Datei in der Data_Directory mit Nano:
$ nano Recovery.Conf
Fügen Sie nun die folgende Zeile hinzu:
Standby_Mode = 'on'Starten Sie den PostgreSQL Sklave Server:
$ systemctl starten postgresqlReplikation testen:
Jetzt auf der PG-Master Server können Sie sehen, dass die Sklave Server wird erkannt.
SQL -Befehl zum Erstellen Benutzer Tisch:
Tabellenbenutzer erstellen (BenutzerSQL -Befehle zum Einfügen von Dummy -Daten in die Benutzer Tisch:
In Benutzerwerte einfügen ('Shahriar', 'Bd');Wie Sie sehen können, werden die Daten dem korrekt zu dem hinzugefügt Meister Server PG-Master:
# \ x ausJetzt von der Sklave Server PG-Slave, Melden Sie sich bei der PostgreSQL -Konsole an:
$ psqlVersuchen Sie nun, die Daten auszuwählen, die wir gerade hinzugefügt haben:
$ select * von Benutzern;Wie Sie sehen können, werden die Daten in der angezeigt Sklave Server. Es bedeutet, dass die Replikation perfekt funktioniert.
Erzeugen von SSH -Tasten:
Sie können sich bei der anmelden Meister Server aus dem Sklave Server und umgekehrt ohne Passwort, wenn Sie SSH -Tasten generieren und kopieren auf gegenüberliegende Server. Dies ist nützlich für Verabreichungszwecke.
Ich zeige dir nur, wie es auf der geht Meister Server. Die Verfahren sind gleich.
Generieren SSH -Schlüssel für die Meister Und Sklave Server während des Anmeldung als Postgres Benutzer.
$ ssh-keygen
Weiter drücken . SSH -Schlüssel sollte generiert werden.
Von dem PG-Master Server kopieren Sie Ihren SSH -Schlüssel in die PG-Slave Server:
$ ssh-copy-id 192.168.199.138Von dem PG-Slave Server kopieren Sie Ihren SSH -Schlüssel in die PG-Master Server:
$ ssh-copy-id 192.168.199.137
Eintippen Ja und dann drücken Sie .
Geben Sie nun das Kennwort für den Server ein, mit dem Sie eine Verbindung für die herstellen Postgres Benutzer und Drücken .
So konfigurieren Sie Meister/Sklave Replikation auf PostgreSQL 11. Danke, dass du diesen Artikel gelesen hast.