In questo articolo, ti mostrerò come impostare la replica di PostgreSQL 11. Iniziamo.
In una configurazione di replica di PostgreSQL, hai 2 tipi di server. IL Maestro server e il Schiavo server.
I record del database del Maestro Il server è duplicato a Schiavo server. Puoi leggere dal Schiavo server utilizzando gli indirizzi IP del Schiavo server. Ma aggiungi nuovi dati solo al Maestro server. I server sono tutti sincronizzati. Quindi se qualcuno dei Maestro Il server fallisce, uno dei server slave può prendere il sopravvento e diventare un nuovo master. È così che PostgreSQL può gestire la richiesta di database senza alcuna interruzione anche se alcuni dei server falliscono in a Maestro/Schiavo configurazione.
Diagramma di rete:
Questo è il diagramma di rete per PostgreSQL Maestro/Schiavo configurazione della replica. Qui ho due server, PG-Master è il Maestro Server PostgreSQL e PG-SLAVE è il Schiavo Server PostgreSQL. Certo, puoi averne di più Schiavo server, ma per motivi di semplicità ne avrò uno Schiavo server.
Mio PG-Master Postgresql Maestro Il server ha l'indirizzo IP 192.168.199.137 e il PG-SLAVE Postgresql Schiavo Il server ha l'indirizzo IP 192.168.199.138. Ricorda questi e apporta le modifiche ove necessario per la configurazione.
Installazione di PostgreSQL:
Per la dimostrazione, sto usando Ubuntu 18.04 Server LTS. Puoi usare qualsiasi distribuzione Linux che desideri. Solo i comandi sono un po 'diversi. È tutto.
È necessario installare PostgreSQL su tutti i server che faranno parte della configurazione della replica. Nel mio caso, i due server PG-Master, E PG-SLAVE.
Ti mostrerò come installare PostgreSQL PG-Master macchina. I passaggi sono gli stessi per il macchine PG-slave anche.
Sul PG-Master server:
Per prima cosa devi aggiungere il repository dei pacchetti PostgreSQL sulla macchina Ubuntu. Per fare ciò, eseguire il seguente comando:
$ echo "deb http: // apt.Postgresql.org/pub/repos/apt/$ (lsb_release -cs) -pgdg main 11 "|
sudo tee/etc/apt/fonti.elenco.d/pgsql.elenco
È necessario aggiungere il repository del pacchetto PostgreSQL.
Ora eseguire il seguente comando per aggiungere la chiave GPG del repository dei pacchetti PostgreSQL:
$ wget --quiet -o -https: // www.Postgresql.Org/Media/Keys/ACCC4CF8.ASC | sudo Apt-Key Aggiungi -
La chiave GPG dovrebbe essere aggiunta.
Ora aggiorna il Apt PACCHE PACKE REPOSIORY Cache con il seguente comando:
$ sudo apt update
IL Apt La cache del repository dei pacchetti deve essere aggiornata.
Ora installa il server di database PostgreSQL con il seguente comando:
Per PostgreSQL 10 (ultimo stabile):
$ sudo apt Installa PostgreSQL-10Per PostgreSQL 11 (attualmente su Beta):
$ sudo apt Installa PostgreSQL-11Ora premi y e poi premere continuare.
PostgreSQL dovrebbe essere installato.
Imposta la password per il Postgres utente con il seguente comando:
$ sudo passwd postgresOra inserisci la password. Dovrebbe essere impostato.\
Ora ricorda di fare lo stesso con il PG-SLAVE server prima di continuare.
Impostazione del server Master PostgreSQL:
Ora accedi come il Postgres utente:
$ su - Postgres
Ora crea un nuovo utente replica:
$ PSQL -C "Crea limite di connessione di accesso alla replica dell'utente 1 crittografatoOra aperto /etc/postgresql/11/main/pg_hba.conf con nano:
$ nano/etc/postgresql/11/main/pg_hba.confAggiungi la riga seguente alla posizione contrassegnata:
replica della replica dell'host 192.168.199.138/24 MD5Ora apri il principale file di configurazione PostgreSQL con nano:
$ nano/etc/postgresql/11/main/postgresql.confOra trova e modifica le seguenti impostazioni. Se viene commentata una riga, il rompicapo (rimuove #) se necessario.
ascolt_addresses = 'localhost, 192.168.199.137 'Ora riavvia PostgreSQL Server sul tuo PG-Master server:
$ SystemCtl Riavvia PostgreSQLConfigurazione del server slave:
Sul PG-SLAVE Accesso al server AS Postgres utente:
$ su - Postgres
Interrompere il servizio PostgreSQL su PG-SLAVE server:
$ SYSTEMCTL STOP POSTGRESQLOra aperto /etc/postgresql/11/main/pg_hba.conf con nano:
$ nano/etc/postgresql/11/main/pg_hba.confAggiungi la riga seguente come hai fatto su PG-Master server:
replica della replica dell'host 192.168.199.137/24 MD5Ora apri il principale file di configurazione PostgreSQL con nano:
$ nano/etc/postgresql/11/main/postgresql.confOra trova e modifica le seguenti impostazioni. Se viene commentata una riga, il rompicapo (rimuove #) se necessario.
ascolt_addresses = 'localhost, 192.168.199.138 'Ora vai al tuo data_directory:
$ cd/var/lib/postgresql/11/mainRimuovi tutto da quella directory:
$ rm -rfv *Ora copia i dati da PG-Master server a PG-SLAVE server data_directory:
$ pg_basebackup -h 192.168.199.137 -d/var/lib/postgresql/11/main/-p -uDigitare la password per il Postgres utente del PG-Master server e premere .
Ora crea un recupero.conf file in data_directory con nano:
$ nano recupero.conf
Ora aggiungi la seguente riga ad essa:
standby_mode = 'on'Avvia PostgreSQL Schiavo server:
$ SystemCtl Avvia PostgreSQLTesting Replication:
Ora sul PG-Master server, puoi vedere che il Schiavo Viene rilevato il server.
Comando sql per la creazione utenti tavolo:
Crea utenti di tabelle (Comandi SQL per inserire dati fittizi nel utenti tavolo:
Inserire nei valori degli utenti ("shahriar", "bd");Come puoi vedere, i dati vengono aggiunti correttamente al Maestro server PG-Master:
# \ x OffOra dal Schiavo server PG-SLAVE, Accedi alla console PostgreSQL:
$ PSQLOra prova a selezionare i dati che abbiamo appena aggiunto:
$ Seleziona * dagli utenti;Come puoi vedere i dati vengono visualizzati in Schiavo server. Significa che la replicazione funziona perfettamente.
Generare tasti ssh:
Puoi accedere al file Maestro server da Schiavo server e viceversa senza password se si genera e copia i tasti SSH in server opposti. Ciò è utile per scopi di amministrazione.
Ti sto solo mostrando come farlo sul Maestro server. Le procedure sono le stesse.
Generare la chiave SSH sul file Maestro E Schiavo server mentre effettuano l'accesso come Postgres utente.
$ ssh-keygen
Continua a premere . La chiave SSH dovrebbe essere generata.
Dal PG-Master server, copia la tua chiave SSH su PG-SLAVE server:
$ SSH-Copy-ID 192.168.199.138Dal PG-SLAVE server, copia la tua chiave SSH su PG-Master server:
$ SSH-Copy-ID 192.168.199.137
Digitare SÌ e poi premere .
Ora digita la password per il server a cui ti stai connettendo per il Postgres utente e premere .
È così che configura Maestro/Schiavo Replica su PostgreSQL 11. Grazie per aver letto questo articolo.