Recuerde el establecimiento y configuración del entorno de sincronización maestro-esclavo de la base de datos PostgreSql de Centos7.x

Uno, instalación de la base de datos

Elija la instalación y el funcionamiento de acuerdo con su propio entorno

1, instalación de directorio especificado por yum

https://blog.csdn.net/llwy1428/article/details/105143053

2, yum instalar directamente

https://blog.csdn.net/llwy1428/article/details/102486414

3. Compila e instala

https://blog.csdn.net/llwy1428/article/details/95444151

4. Funcionamiento básico de PostgreSql

https://blog.csdn.net/llwy1428/article/details/102598732

5. Instalación de Centos7 yum, configuración PgAdmin4

https://blog.csdn.net/llwy1428/article/details/102486511

6, extensión de instalación de la base de datos Centos7 PostgreSql

https://blog.csdn.net/llwy1428/article/details/105167524

7. La base de datos Centos7 PostgreSql utiliza la extensión FDW

https://blog.csdn.net/llwy1428/article/details/106291669

8. Centos7 postgresql v11 instala la base de datos de escala de tiempo TimescaleDB

https://blog.csdn.net/llwy1428/article/details/106357900

9. Windows 10 usa PgAdmin para hacer una copia de seguridad de la base de datos PostgreSql

https://blog.csdn.net/llwy1428/article/details/107031697

Dos, instalación y configuración de máquinas virtuales

1. Seleccione (o instale) dos máquinas virtuales Centos7.x

Descarga del sistema: http://archive.kernel.org/centos-vault/7.4.1708/isos/x86_64/

2. Instalación del sistema: https://blog.csdn.net/llwy1428/article/details/89328381

3. Configuración de red: https://blog.csdn.net/llwy1428/article/details/85058028

Nota: aquí 192.168.11.11 es el nodo de la base de datos maestra; 192.168.11.12 es el nodo de la base de datos esclava

4. Cortafuegos: https://blog.csdn.net/llwy1428/article/details/99676257

Ambos firewalls de máquinas virtuales abren el puerto: 5432

]# firewall-cmd --add-port=5432/tcp --permanent
]# firewall-cmd --reload

Tres, instalación, configuración

Nota: Aquí, 192.168.11.11 es la base de datos maestra; 192.168.11.12 es la base de datos esclava

1. Instale la base de datos

Instale la base de datos PostgreSql en el nodo principal

Proceso de instalación: https://blog.csdn.net/llwy1428/article/details/105143053

2. Cree una cuenta de respaldo y establezca una contraseña en la base de datos principal 192.168.11.11

El sistema cambia al usuario de postgres

[root@localhost ~]# su - postgres

Abra la línea de comando

-bash-4.2$ psql

Cree un usuario de base de datos y establezca una contraseña (las letras del nombre de usuario deben estar en minúsculas)

CREAR USUARIO [nombre de usuario] REPLICACIÓN INICIAR SESIÓN CONEXIÓN LÍMITE 3 CONTRASEÑA CIFRADA '[CONTRASEÑA]';

postgres=# CREATE USER dbbak REPLICATION LOGIN CONNECTION LIMIT 3 ENCRYPTED PASSWORD '123456';

3. Modifique el archivo de configuración postgresql.conf

Parámetros a modificar:

(1) replicación de transmisión de wal_level réplica de nivel más alto

(2) max_wal_senders la cantidad de procesos de replicación de transmisión, generalmente el host

(3) wal_keep_segments mantiene el número de WAL, que se puede aumentar o disminuir según haya escritura por lotes

(4) hot_standby yes / no permite consultas durante la recuperación

Explicación de otros parámetros

Cambiar de usuario y editar archivos de configuración

[root@localhost ~]# su - postgres
-bash-4.2$ vim /data/pgdata/postgresql.conf

wal_level = réplica

max_wal_senders = 10

wal_keep_segments = 64

hot_standby = encendido

4. Edite la asignación de hosts

[root@localhost ~]# vim /etc/hosts

5. Modifique el archivo de configuración pg_hda.conf

-bash-4.2$ vim /data/pgdata/pg_hba.conf

Agregar configuración de conexión para el usuario dbbak en espera activa

Nota: Esto debe limitarse a la conexión del nodo esclavo. La tercera columna de esta configuración es el usuario de reserva activa creado en el artículo anterior: "dbbak"

host    replication     dbbak           db.slave.bak           md5

 

Nota: La cuarta columna de la última fila es la asignación entre el nombre de host y la IP del nodo esclavo configurado en / etc / hosts    

6. Reinicie el servicio de base de datos del servidor principal.

[root@localhost ~]# systemctl restart postgresql-11

7. Instale el servicio de base de datos PostgreSql en el nodo esclavo

Cree un directorio y otorgue permisos (no es necesario inicializar la base de datos)

8. Utilice el comando para sincronizar el archivo de datos del nodo maestro con el nodo esclavo.

/ usr / pgsql-11 / bin / pg_basebackup -h [Dirección del servidor maestro] -p [Puerto del servidor maestro] -D [Directorio de datos del servidor esclavo] -P -U [Usuario de respaldo activo del servidor maestro]

Cambiar de usuario de nodo

[root@localhost ~]# su - postgres

Ejecutar en el nodo esclavo

-bash-4.2$ /usr/pgsql-11/bin/pg_basebackup -h 192.168.11.11 -p 5432 -D /data/pgdata/ -P -U dbbak

Ingrese la contraseña del servidor del nodo maestro

Contraseña: ***********

Ver el directorio de datos del nodo esclavo:

-bash-4.2$ ll /data/pgdata/

9. Modifique el archivo de configuración postgresql.conf en el nodo esclavo (opcional)

-bash-4.2$ vim /data/pgdata/postgresql.conf

Modifique el puerto de la base de datos del nodo esclavo a 5433

10. Cree el archivo de configuración recovery.conf

-bash-4.2$ vim /data/pgdata/recovery.conf

Escribe contenido

standby_mode ='on'
primary_conninfo ='host=192.168.11.11 port=5432 user=dbbak password=123456'
trigger_file ='/tmp/pgsql_master'

Descripción: 'host = 192.168.11.11 port = 5432 user = dbbak password = 123456' es la información de conexión y de usuario en espera activa del nodo maestro

11. Inicie el servicio de base de datos desde el nodo.

[root@localhost ~]# systemctl start postgresql-11

12. La subtabla verifica el estado de inicio de la base de datos en los nodos maestro y esclavo:

Nodo maestro:

 

Nodo esclavo:

 

13. Ejecute comandos en el nodo principal para verificar el resultado de la construcción:

[root@localhost ~]# su - postgres
-bash-4.2$ psql
postgres=# \x on
postgres=# select * from pg_stat_activity where usename = 'dbbak';

Cuatro, prueba:

1. Cree una base de datos en el nodo principal:

postgres=# create database dbtest owner postgres;

2. Ver en el nodo esclavo:

 

 

En este punto, el entorno de sincronización maestro-esclavo de la base de datos Centos7.x PostgreSql se ha configurado y configurado.

Supongo que te gusta

Origin blog.csdn.net/llwy1428/article/details/107531011
Recomendado
Clasificación