01.10.2023

Cómo hacer una copia de seguridad y restaurar en un PostgreSQL?

Introducción

El sistema de información moderno tiene muchos requisitos para la eficacia y estabilidad del trabajo. Uno de estos tolerancia a fallas, que brinda protección contra ataques a la integridad y disponibilidad, problemas técnicos y otro incidente diferente, que puede corromper suficientemente los datos. Para usar herramientas y utilidades necesitamos determinar el área de uso, en esa instrucción consideraremos la reserva y la copia de seguridad de los datos en DBMS. PostgreSQL a través de la utilidad patentada y de código abierto.

Buenas prácticas

Podemos tener una base de datos con diferente tamaño, estructura y volumen, pero necesitamos hacer una copia de seguridad de integridad completa y restaurarla correctamente. La primera utilidad que podemos utilizar es pg_dump y psql or pg_restaurar. Utiliza un mecanismo para leer las bases de datos actuales y convertirlas al comando en el archivo de texto, por lo tanto, para la entrada en la utilidad indicamos DB, para la salida obtenemos el archivo de texto.

Ese método tiene varias ventajas: coherencia de la versión, simplicidad en el paso de exportación y no se requieren derechos de privilegio en el sistema. Para usar ese tipo de comando de copia de seguridad, primero que nada debemos verificar que haya bases de datos y elegir el objeto necesario:

\l

Captura de pantalla №1: Lista de bases de datos

Asegurémonos, ¿cómo se ven los datos? Escriba el comando a continuación:

SELECCIONAR * DE clientes;

Captura de pantalla №2 - Contenido

Tenemos un registro de prueba en la base de datos con datos teóricos del usuario, usamos la utilidad pg_dump con la opción: -U para determinar el usuario de DBMS, -d identificar la base de datos y para la administración remota que podemos usar -h y -p paraméteres. Conformidad con el anfitrión y el puerto:

pg_dump -U postgres -d db12 > copia de seguridad.sql

Captura de pantalla №3: Copia de seguridad

También podemos usar secuencias de comando para completar esa tarea:

ssh usuario@nombredehost -p 5432 pg_dump -U postgres -d db12 > backup.sql

Reemplace el nombre de usuario, el nombre de host y el puerto según su configuración deseada. Si desea realizar una copia de seguridad y restaurar DB rapidly entre varios servidores, luego ingrese eso:

pg_dump -h 78.43.11.2 nombre_bd | psql -h 72.43.11.2 nombre_bd

La primera parte permitió conectarse al servidor con db y utilizar la salida de redirección de tubería al servidor de destino con un comando después de un signo separado.

Y usando el comando scp podemos transferir db:

scp ./backup.sql raíz@94.141.98.9:/

Captura de pantalla №4 — SCP

Deberíamos crear una base de datos y restaurar el contenido con el siguiente comando:

CREAR BASE DE DATOS db12;

Luego restaure con el comando psql:

psql -U postgres -d db12 < copia de seguridad.sql

Captura de pantalla n.º 5: Restaurar

Asegúrese de la integridad del contenido en la base de datos:

SELECCIONAR * DE clientes;

Captura de pantalla №6 — Resultado

Si la base de datos tiene muchos datos y un gran tamaño, utilice dividido y utilidad zip para transferir piezas de datos:

pg_dump nombre_db | gzip > nombre_archivo.gz
gunzip -c nombre_archivo.gz | psql nombre_db

Y dividir con la siguiente sintaxis:

pg_dump nombre_db | dividir -b 4G - nombre_archivo
nombre_archivo del gato | psql nombre_db

Eso ayuda a que la transferencia de datos sea más efectiva en el proceso de copia de seguridad.

Conclusión

Siguiendo estas prácticas y utilizando los comandos y utilidades recomendados, uno puede administrar de manera efectiva y eficiente la copia de seguridad y restauración de datos en PostgreSQL, asegurando así la estabilidad y confiabilidad del sistema de información moderno frente a posibles desafíos y amenazas.