Jak skonfigurować replikację PostgreSQL Top 10

Jak skonfigurować replikację PostgreSQL Top 10
PostgreSQL to relacyjny system zarządzania relacjami typu open source (RDBMS). Jest to jedna z najbardziej zaawansowanych baz danych.

W tym artykule pokażę, jak skonfigurować replikację PostgreSQL 11. Zacznijmy.

Jak działa replikacja w PostgreSQL:

W konfiguracji replikacji PostgreSQL masz 2 rodzaje serwerów. Gospodarz serwer i Niewolnik serwer.

Rekordy bazy danych Gospodarz serwer jest zduplikowany do Niewolnik serwery. Możesz przeczytać z Niewolnik serwery korzystające z adresów IP Niewolnik serwery. Ale dodajesz nowe dane tylko do Gospodarz serwer. Wszystkie serwery są synchronizowane. Więc jeśli którykolwiek z Gospodarz Serwer się nie powiódł, jeden z serwerów niewolników może przejąć władzę i zostać nowym mistrzem. W ten sposób PostgreSQL może obsługiwać żądanie bazy danych bez żadnych przerw, nawet jeśli niektóre serwery zawodzą w Gospodarz/Niewolnik konfiguracja.

Internetowy diagram:

To jest schemat sieci dla PostgreSQL Gospodarz/Niewolnik Konfiguracja replikacji. Tutaj mam dwa serwery, PG-Master jest Gospodarz Serwer PostgreSQL i PG-SLAVE jest Niewolnik Serwer PostgreSQL. Oczywiście możesz mieć więcej Niewolnik serwer, ale ze względu na prostotę będę miał Niewolnik serwer.

Mój PG-Master PostgreSQL Gospodarz serwer ma adres IP 192.168.199.137 i PG-SLAVE PostgreSQL Niewolnik serwer ma adres IP 192.168.199.138. Pamiętaj o nich i wprowadzaj zmiany w razie potrzeby do konfiguracji.

Instalowanie PostgreSQL:

Do demonstracji używam Ubuntu 18.04 Serwer LTS. Możesz użyć dowolnej dystrybucji Linux, którą chcesz. Tylko polecenia są nieco inne. To wszystko.

Musisz zainstalować PostgreSQL na wszystkich serwerach, które będą częścią konfiguracji replikacji. W moim przypadku dwa serwery PG-Master, I PG-SLAVE.

Pokażę ci, jak zainstalować PostgreSQL PG-Master maszyna. Kroki są takie same dla Maszyny PG-SLAVE również.

Na PG-Master serwer:

Najpierw musisz dodać repozytorium pakietów PostgreSQL na komputerze Ubuntu. Aby to zrobić, uruchom następujące polecenie:

$ echo "deb http: // apt.PostgreSQL.org/pub/repos/apt/$ (lsb_release -cs) -pgdg main 11 "|
sudo tee/itp./apt/źródła.lista.D/PGSQL.lista

Należy dodać repozytorium pakietu PostgreSQL.

Teraz uruchom następujące polecenie, aby dodać klawisz GPG repozytorium pakietu PostgreSQL:

$ wget --quiet -o -https: // www.PostgreSQL.org/media/klawisze/ACCC4CF8.ASC | sudo apt-key add -

Należy dodać klucz GPG.

Teraz zaktualizuj TRAFNY Pakiet Pakiet Pamięć podręczna z następującym poleceniem:

Aktualizacja $ sudo apt

TRAFNY Pamięć podręczna repozytorium pakietów powinna zostać zaktualizowana.

Teraz zainstaluj serwer bazy danych PostgreSQL z następującym poleceniem:

Dla PostgreSQL 10 (najnowszy stabilny):

$ sudo apt instint PostgreSQL-10

Dla PostgreSQL 11 (obecnie w wersji beta):

$ sudo apt instint PostgreSQL-111

Teraz naciśnij y a następnie naciśnij kontynuować.

PostgreSQL powinien zostać zainstalowany.

Ustaw hasło dla Postgres Użytkownik z następującym poleceniem:

$ sudo passwd postgres

Teraz wprowadź hasło. Powinien być ustawiony.\

Teraz pamiętaj, aby zrobić to samo z PG-SLAVE serwer przed kontynuowaniem.

Konfigurowanie głównego serwera PostgreSQL:

Teraz login jako Postgres użytkownik:

$ su - Postgres

Teraz utwórz nowego użytkownika Replikacja:

$ PSQL -C "Utwórz replikację użytkownika Replikacja Logowanie Limit połączenia 1 Szyfrowany
Hasło „your_password”; ”

Teraz otwarte /etc/postgresql/11/main/pg_hba.conf z Nano:

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

Dodaj następującą linię do oznaczonej lokalizacji:

Replikacja replikacji hosta 192.168.199.138/24 MD5

Teraz otwórz główny plik konfiguracyjny PostgreSQL z Nano:

$ nano/etc/postgresql/11/main/postgresql.conf

Teraz znajdź i zmień następujące ustawienia. Jeśli jakakolwiek linia zostanie skomentowana, pocukaj (usuwanie #) w razie potrzeby.

Listen_Addresses = 'LocalHost, 192.168.199.137 '
Wal_Level = Replica
max_wal_senders = 10
Wal_keep_segments = 64

Teraz uruchom ponownie PostgreSQL Server na swoim PG-Master serwer:

$ Systemctl restartuj postgresql

Konfigurowanie serwera niewolników:

Na PG-SLAVE Logowanie serwera jako Postgres użytkownik:

$ su - Postgres

Zatrzymaj usługę PostgreSQL na PG-SLAVE serwer:

$ Systemctl Stop PostgreSQL

Teraz otwarte /etc/postgresql/11/main/pg_hba.conf z Nano:

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

Dodaj następujący wiersz, tak jak na PG-Master serwer:

Replikacja replikacji hosta 192.168.199.137/24 MD5

Teraz otwórz główny plik konfiguracyjny PostgreSQL z Nano:

$ nano/etc/postgresql/11/main/postgresql.conf

Teraz znajdź i zmień następujące ustawienia. Jeśli jakakolwiek linia zostanie skomentowana, pocukaj (usuwanie #) w razie potrzeby.

Listen_Addresses = 'LocalHost, 192.168.199.138 '
Wal_Level = Replica
max_wal_senders = 10
Wal_keep_segments = 64
hot_standby = on

Teraz idź do swojego data_directory:

$ cd/var/lib/postgresql/11/main

Usuń wszystko z tego katalogu:

$ rm -rfv *

Teraz skopiuj dane z PG-Master serwer do PG-SLAVE serwer data_directory:

$ PG_BASEBACUP -H 192.168.199.137 -d/var/lib/postgresql/11/main/-p -u
Replikacja--Wal-metod = Fetch

Wpisz hasło dla Postgres użytkownik PG-Master serwer i naciśnij .

Teraz utwórz powrót do zdrowia.conf plik w data_directory z Nano:

$ nano odzyskiwanie.conf

Teraz dodaj do niego następujący wiersz:

Standby_mode = 'on'
Primary_conninfo = 'host = 192.168.199.137 Port = 5432 Użytkownik = hasło do replikacji = 123 '
Trigger_file = '/tmp/masterNow'

Rozpocznij PostgreSQL Niewolnik serwer:

$ SystemCtl Start PostgreSQL

Testowanie replikacji:

Teraz na PG-Master serwer, możesz zobaczyć, że Niewolnik Serwer jest wykrywany.

Polecenie SQL do tworzenia użytkownicy tabela:

Utwórz użytkowników tabeli (
Nazwa varchar (30),
Country Varchar (2)
);

Polecenia SQL do wstawienia danych manekina do użytkownicy tabela:

Wstaw wartości użytkowników („Shahriar”, „Bd”);
Wstaw wartości użytkowników („shovon”, „bd”);
Wstaw do wartości użytkowników („Kelly”, „us”);
Wstaw do wartości użytkowników („nina”, „in”);
Wstaw wartości użytkowników („kesha”, „ca”);

Jak widać, dane są prawidłowo dodawane do Gospodarz serwer PG-Master:

# \ x
# Wybierz * od użytkowników;

Teraz z Niewolnik serwer PG-SLAVE, Zaloguj się do konsoli PostgreSQL:

$ psql

Teraz spróbuj wybrać dane, które właśnie dodaliśmy:

$ select * od użytkowników;

Jak widać, dane są wyświetlane w Niewolnik serwer. Oznacza to, że replikacja działa idealnie.

Generowanie kluczy SSH:

Możesz zalogować się do Gospodarz serwer z Niewolnik serwer i odwrotnie bez hasła, jeśli generujesz i kopiujesz klucze SSH na przeciwne serwery. Jest to przydatne do celów administracyjnych.

Pokazuję tylko, jak to zrobić na Gospodarz serwer. Procedury są takie same.

Wygeneruj klucz SSH na Gospodarz I Niewolnik serwery podczas logowania jako Postgres użytkownik.

$ ssh-keygen

Naciskaj dalej . Należy wygenerować klucz SSH.

Z PG-Master serwer, skopiuj swój klucz SSH do PG-SLAVE serwer:

$ ssh-copy-id 192.168.199.138

Z PG-SLAVE serwer, skopiuj swój klucz SSH do PG-Master serwer:

$ ssh-copy-id 192.168.199.137

Wpisz Tak a następnie naciśnij .

Teraz wpisz hasło do serwera, z którym się łączysz Postgres Użytkownik i naciśnij .

Tak konfigurujesz Gospodarz/Niewolnik Replikacja na PostgreSQL 11. Dziękujemy za przeczytanie tego artykułu.