So richten Sie Postgresql Top 10 Replikation ein

So richten Sie Postgresql Top 10 Replikation ein
PostgreSQL ist ein Open Source Relational Database Management System (RDBMS). Es ist eine der fortschrittlichsten Datenbank da draußen.

In diesem Artikel werde ich Ihnen zeigen, wie Sie Postgresql 11 -Replikation einrichten. Lass uns anfangen.

Wie funktioniert die Replikation in PostgreSQL:

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-10

Für Postgresql 11 (derzeit bei Beta):

$ sudo APT installieren Sie Postgresql-11

Jetzt 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 postgres

Geben 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üsselt
Passwort 'your_password'; "

Jetzt offen /etc/postgresql/11/main/pg_hba.Conf mit Nano:

$ nano/etc/postgresql/11/main/pg_hba.Conf

Fü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.Conf

Finden 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 '
wal_level = replik
max_wal_senders = 10
wal_keep_segmente = 64

Starten Sie nun Postgresql Server auf Ihrem PG-Master Server:

$ systemctl restart postgresql

Konfigurieren 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 postgresql

Jetzt offen /etc/postgresql/11/main/pg_hba.Conf mit Nano:

$ nano/etc/postgresql/11/main/pg_hba.Conf

Fü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.Conf

Finden 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 '
wal_level = replik
max_wal_senders = 10
wal_keep_segmente = 64
HOT_STANDBY = ON

Jetzt geh zu dir Data_Directory:

$ cd/var/lib/postgreSQL/11/Main

Entfernen 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 -u
Replikation-Wal-Methode = Fetch

Geben 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'
primär_conninfo = 'host = 192.168.199.137 port = 5432 user = replication password = 123 '
trigger_file = '/tmp/masternow'

Starten Sie den PostgreSQL Sklave Server:

$ systemctl starten postgresql

Replikation 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 (Benutzer
Nennen Sie Varchar (30),
Land Varchar (2)
);

SQL -Befehle zum Einfügen von Dummy -Daten in die Benutzer Tisch:

In Benutzerwerte einfügen ('Shahriar', 'Bd');
In Benutzerwerte einfügen ('shovon', 'bd');
In Benutzerwerte einfügen ('Kelly', 'us');
In Benutzerwerte einfügen ('Nina', 'in');
In Benutzerwerte einfügen ('Kesha', 'CA');

Wie Sie sehen können, werden die Daten dem korrekt zu dem hinzugefügt Meister Server PG-Master:

# \ x aus
# aus den Benutzern auswählen;

Jetzt von der Sklave Server PG-Slave, Melden Sie sich bei der PostgreSQL -Konsole an:

$ psql

Versuchen 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.138

Von 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.