Como configurar o PostGresql Top 10 Replicação

Como configurar o PostGresql Top 10 Replicação
PostgreSQL é um sistema de gerenciamento de banco de dados relacional de código aberto (RDBMS). É um dos bancos de dados mais avançados por aí.

Neste artigo, mostrarei como configurar a replicação PostGresql 11. Vamos começar.

Como funciona a replicação no PostgreSQL:

Em uma configuração de replicação do PostGresql, você tem 2 tipos de servidores. O Mestre servidor e o Escravo servidor.

Os registros do banco de dados do Mestre O servidor é duplicado para o Escravo servidores. Você pode ler do Escravo servidores usando os endereços IP do Escravo servidores. Mas você adiciona novos dados apenas ao Mestre servidor. Os servidores estão todos sincronizados. Então, se algum dos Mestre O servidor falha, um dos servidores escravos pode assumir o controle e se tornar um novo mestre. É assim que o PostgreSQL pode lidar com a solicitação de banco de dados sem qualquer interrupção, mesmo que alguns dos servidores falhem em um Mestre/Escravo configuração.

Diagrama de rede:

Este é o diagrama de rede para o PostgreSQL Mestre/Escravo configuração de replicação. Aqui eu tenho dois servidores, PG-MASTER é o Mestre PostgreSQL Server e PG-SLAVE é o Escravo PostgreSQL Server. Claro, você pode ter mais Escravo servidor, mas por uma questão de simplicidade, vou ter um Escravo servidor.

Meu PG-MASTER PostGresql Mestre O servidor tem o endereço IP 192.168.199.137 e a PG-SLAVE PostGresql Escravo O servidor tem o endereço IP 192.168.199.138. Lembre -se disso e faça alterações sempre que necessário para sua configuração.

Instalando o PostGresql:

Para a demonstração, estou usando o Ubuntu 18.04 servidor LTS. Você pode usar qualquer distribuição Linux que quiser. Apenas os comandos são um pouco diferentes. Isso é tudo.

Você precisa instalar o PostgreSQL em todos os servidores que farão parte da configuração de replicação. No meu caso, os dois servidores PG-MASTER, e PG-SLAVE.

Vou mostrar como instalar o PostgreSql PG-MASTER máquina. As etapas são as mesmas para o Máquinas-escravos PG também.

No PG-MASTER servidor:

Primeiro, você deve adicionar o repositório de pacote PostGresql em sua máquina Ubuntu. Para fazer isso, execute o seguinte comando:

$ echo "Deb http: // apt.PostGresql.org/pub/repos/apt/$ (lsb_release -cs) -pgdg main 11 "|
sudo tee/etc/apt/fontes.lista.D/PGSQL.lista

O repositório de pacote PostgreSQL deve ser adicionado.

Agora execute o seguinte comando para adicionar a chave GPG do repositório de pacote PostGresql:

$ wget --quiet -o -https: // www.PostGresql.org/mídia/keys/accc4cf8.ASC | Sudo Apt-Key Add -

A chave GPG deve ser adicionada.

Agora atualize o Apt Cache do repositório de pacotes com o seguinte comando:

$ sudo apt update

O Apt O cache do repositório de pacotes deve ser atualizado.

Agora instale o servidor de banco de dados PostGresql com o seguinte comando:

Para PostgreSQL 10 (mais recente estábulo):

$ sudo apt install pósgresql-10

Para PostgreSQL 11 (atualmente na versão beta):

$ sudo apt install pósgresql-11

Agora pressione y e depois pressione continuar.

PostgreSQL deve ser instalado.

Defina a senha para o PostGres Usuário com o seguinte comando:

$ sudo passwd postgres

Agora digite a senha. Deve ser definido.\

Agora lembre -se de fazer o mesmo com o PG-SLAVE servidor antes de continuar.

Configurando o servidor Master PostGresql:

Agora login como o PostGres do utilizador:

$ su - postgres

Agora crie um novo usuário replicação:

$ psql -c "Crie replicação do usuário Replicação Login Limite de conexão 1 Criptografado
Senha 'your_password'; "

Agora aberto /etc/postgreSql/11/main/pg_hba.conf com Nano:

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

Adicione a seguinte linha ao local marcado:

Replicação do host Replicação 192.168.199.138/24 MD5

Agora abra o principal arquivo de configuração do PostGresql com Nano:

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

Agora encontre e altere as seguintes configurações. Se alguma linha for comentada, não o nome (removendo #) conforme necessário.

out_addresses = 'localhost, 192.168.199.137 '
wal_level = réplica
max_wal_senders = 10
wal_keep_segments = 64

Agora reinicie o servidor PostgreSQL em seu PG-MASTER servidor:

$ Systemctl Reiniciar PostgreSQL

Configurando o servidor escravo:

No PG-SLAVE Login do servidor como PostGres do utilizador:

$ su - postgres

Pare o serviço PostgreSQL no PG-SLAVE servidor:

$ Systemctl Stop PostGresql

Agora aberto /etc/postgreSql/11/main/pg_hba.conf com Nano:

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

Adicione a seguinte linha como você fez no PG-MASTER servidor:

Replicação do host Replicação 192.168.199.137/24 MD5

Agora abra o principal arquivo de configuração do PostGresql com Nano:

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

Agora encontre e altere as seguintes configurações. Se alguma linha for comentada, não o nome (removendo #) conforme necessário.

out_addresses = 'localhost, 192.168.199.138 '
wal_level = réplica
max_wal_senders = 10
wal_keep_segments = 64
hot_standby = on

Agora vá para o seu data_directory:

$ cd/var/lib/postgreSql/11/main

Remova tudo a partir desse diretório:

$ rm -rfv *

Agora copie os dados do PG-MASTER servidor para o PG-SLAVE servidor data_directory:

$ pg_basebackup -h 192.168.199.137 -d/var/lib/postgreSql/11/main/-p -u
replicação--wal-method = busca

Digite a senha para o PostGres usuário do PG-MASTER servidor e pressione .

Agora crie um recuperação.conf arquivo no data_directory com Nano:

$ nano recuperação.conf

Agora adicione a seguinte linha:

standby_mode = 'on'
primário_conninfo = 'host = 192.168.199.137 porta = 5432 Usuário = senha de replicação = 123 '
trigger_file = '/tmp/masternow'

Inicie o PostGresql Escravo servidor:

$ Systemctl Iniciar PostgreSQL

Testando a replicação:

Agora no PG-MASTER servidor, você pode ver que o Escravo O servidor é detectado.

Comando SQL para criar Usuários mesa:

Crie usuários de tabela (
Nome Varchar (30),
Varchar do país (2)
);

Comandos SQL para inserir dados dummy no Usuários mesa:

Inserir nos valores dos usuários ('shahriar', 'bd');
Inserir nos valores dos usuários ('shovon', 'bd');
Inserir nos valores dos usuários ('kelly', 'nós');
Inserir nos valores dos usuários ('nina', 'em');
Inserir nos valores dos usuários ('kesha', 'ca');

Como você pode ver, os dados são adicionados corretamente ao Mestre servidor PG-MASTER:

# \ X OFF
# selecione * dos usuários;

Agora do Escravo servidor PG-SLAVE, Faça login no console PostGresql:

$ psql

Agora tente selecionar os dados que acabamos de adicionar:

$ select * de usuários;

Como você pode ver, os dados são exibidos no Escravo servidor. Isso significa que a replicação está funcionando perfeitamente.

Gerando chaves SSH:

Você pode fazer login no Mestre servidor do Escravo Servidor e vice -versa sem senha se você gerar e copiar as teclas SSH para servidores opostos. Isso é útil para fins de administração.

Estou apenas mostrando como fazer isso no Mestre servidor. Os procedimentos são iguais.

Gerar a chave SSH no Mestre e Escravo servidores enquanto conectados como PostGres do utilizador.

$ ssh-keygen

Continue pressionando . A chave SSH deve ser gerada.

De PG-MASTER servidor, copie sua chave ssh para o PG-SLAVE servidor:

$ SSH-COPY-ID 192.168.199.138

De PG-SLAVE servidor, copie sua chave ssh para o PG-MASTER servidor:

$ SSH-COPY-ID 192.168.199.137

Digitar sim e depois pressione .

Agora digite a senha para o servidor para o qual você está se conectando para o PostGres usuário e pressione .

É assim que você configura Mestre/Escravo Replicação no PostgreSQL 11. Obrigado por ler este artigo.