GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo hacer una copia de seguridad y restaurar la base de datos en PostgreSQL

PostgreSQL es gratuito, de código abierto y uno de los sistemas de administración de bases de datos relacionales más populares, que impulsa millones de aplicaciones. Si es un administrador de base de datos que utiliza PostgreSQL en un entorno de producción, es fundamental realizar una copia de seguridad de su base de datos para que pueda restaurar rápidamente su sistema si se pierde su base de datos.

En este tutorial, le mostraremos cómo realizar una copia de seguridad y restaurar la base de datos de PostgreSQL en Linux.

Requisitos

  • Un Ubuntu 20.04 VPS nuevo con PostgreSQL instalado en Atlantic.net Cloud Platform.
  • Si aún no tiene instalado PostgreSQL, puede consultar este blog para aprender a instalar y configurar Postgres.
  • Una contraseña raíz configurada en su servidor.

1 – Crear servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Ubuntu 20.04 como sistema operativo con al menos 1 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Una vez que haya iniciado sesión en su servidor Ubuntu 20.04, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.

apt-get update -y

2 – Comprender la sintaxis básica de pg_dump

PostgreSQL viene con utilidades integradas llamadas pg_dump para crear y restaurar copias de seguridad fácilmente.

La sintaxis básica del comando pg_dump se muestra a continuación:

pg_dump [OPTION]... [DBNAME]

A continuación se muestra una breve explicación de cada opción:

-d, –dbname=NOMBRE DE LA BASE DE DATOS: Se utiliza para especificar la base de datos de la que desea hacer una copia de seguridad.
-h, –host=HOSTNAME : Se utiliza para especificar el nombre de host de su servidor de base de datos.
-U, –username=NOMBRE DE USUARIO : Se utiliza para especificar el nombre de usuario de PostgreSQL.
-w, –no-password: Se usa para ignorar la solicitud de contraseña.
-p, –port=PORT : Se utiliza para especificar el número de puerto del servidor PostgreSQL.
-W, –contraseña: Se usa para forzar la solicitud de contraseña.
–role=ROLENAME : ESTABLECER ROL antes del volcado.

3:copia de seguridad y restauración de una única base de datos

Puede hacer una copia de seguridad y restaurar una sola base de datos utilizando la utilidad pg_dump. La sintaxis básica para hacer una copia de seguridad de una sola base de datos se muestra a continuación:

pg_dump -d [source-database] -f [database_backup.sql]

Por ejemplo, para hacer una copia de seguridad de una sola base de datos llamada testdb y generar un archivo de copia de seguridad llamado testdb_backup.sql, ejecute el siguiente comando:

su - postgres
pg_dump -d testdb -f testdb_backup.sql

También puede restaurar una sola base de datos usando el comando psql. La sintaxis básica para restaurar una sola base de datos se muestra a continuación:

psql -d [destination_database] -f [database_backup.sql]

Por ejemplo, para restaurar una sola base de datos llamada testdb desde un archivo de respaldo llamado testdb_backup.sql, ejecute el siguiente comando:

su - postgres
psql -d testdb -f testdb_backup.sql

Deberías obtener el siguiente resultado:

SET
SET
SET
SET
SET
 set_config
------------

(1 row)

SET
SET
SET
SET

Si desea detener el proceso de restauración de la base de datos en caso de que ocurra un error, ejecute el siguiente comando:

psql -d testdb --set ON_ERROR_STOP=on -f testdb_backup.sql

Nota: Antes de restaurar cualquier base de datos, se recomienda finalizar todas las conexiones a esa base de datos y preparar el archivo de copia de seguridad.

Copia de seguridad y restauración de todas las bases de datos

Puede hacer una copia de seguridad de todas las bases de datos en PostgreSQL usando la utilidad pg_dumpall. La sintaxis básica para respaldar todas las bases de datos como se muestra a continuación:

pg_dumpall -f [alldatabase_backup.sql]

Por ejemplo, para hacer una copia de seguridad de todas las bases de datos en PostgreSQL y generar un archivo de copia de seguridad llamado alldb_backup.sql, ejecute el siguiente comando:

pg_dumpall -f alldb_backup.sql

Para restaurar todas las bases de datos desde un archivo de respaldo llamado alldb_backup.sql, ejecute el siguiente comando:

psql -f alldb_backup.sql

Copia de seguridad y restauración de una sola tabla

PostgreSQL también le permite hacer una copia de seguridad de una sola tabla de la base de datos específica. Puede lograr esto usando la siguiente sintaxis:

pg_dump -d [source-database] -t [table_name]-f [dbtable_backup.sql]

Por ejemplo, para hacer una copia de seguridad de una tabla llamada mytab desde la base de datos llamada testdb y generar un archivo de copia de seguridad llamado testdb_mytab.sql, ejecute el siguiente comando:

pg_dump -d testdb -t mytab  -f testdb_mytab_backup.sql

Si desea restaurar esta tabla desde el archivo de copia de seguridad, ejecute el siguiente comando:

psql -d testdb -f testdb_mytab_backup.sql

Copia de seguridad y restauración de base de datos comprimida

También puede hacer una copia de seguridad de la base de datos PostgreSQL y comprimirla en formato .gz para reducir el tamaño de la copia de seguridad.

Para realizar una copia de seguridad de la base de datos denominada testdb y generar un archivo de copia de seguridad comprimido denominado testdb_compressed.sql.gz, ejecute el siguiente comando:

pg_dump -d testdb | gzip > testdb_compressed.sql.gz

También puede restaurar la copia de seguridad desde el archivo comprimido usando el siguiente comando:

gunzip -c testdb_compressed.sql.gz | psql  -d testdb

Conclusión

En la guía anterior, aprendió varias formas de respaldar y restaurar una base de datos de PostgreSQL para ayudarlo a realizar las operaciones de respaldo de la base de datos del día a día. ¡Comience hoy con una base de datos PostgreSQL en alojamiento VPS de Atlantic.Net!


Linux
  1. MySQL:cómo hacer una copia de seguridad (volcar) y restaurar una base de datos usando mysqldump

  2. Cómo hacer una copia de seguridad y restaurar el repositorio SVN en Linux

  3. Cómo hacer una copia de seguridad y restaurar la base de datos de Postgres

  4. Cómo hacer una copia de seguridad y restaurar datos y configuraciones de RabbitMQ

  5. Copia de seguridad y restauración de la base de datos MySQL usando mysqlhotcopy

Cómo hacer una copia de seguridad y restaurar la tarjeta SD para Raspberry Pi

Cómo utilizar Timeshift para realizar copias de seguridad y restaurar Linux

Cómo realizar una copia de seguridad y restaurar la base de datos MSSQL/MySQL en Plesk

¿Cómo restaurar la copia de seguridad de la base de datos usando JetBackup 5?

Cómo instalar la base de datos PostgreSQL y pgAdmin en Linux

Cómo hacer una copia de seguridad y restaurar un sitio web de WordPress