PostgreSQL pg_restore
`pg_restore` de PostgreSQL es una utilidad para restaurar una base de datos PostgreSQL a partir de un archivo creado por `pg_dump`. Se utiliza para reconstruir la base de datos a su estado original a partir de un archivo de copia de seguridad.
Utilización
La herramienta `pg_restore` se emplea cuando necesitas restaurar datos de un archivo de copia de seguridad en una base de datos PostgreSQL. Admite varios formatos de archivo (por ejemplo, personalizado, directorio, tar) y opciones para controlar lo que se restaura.
bash
pg_restore [options] backup_file
En esta sintaxis, `fichero_backup` especifica el fichero de archivo desde el que se va a restaurar, y `[opciones]` incluye varias opciones para ajustar el proceso de restauración.
Ejemplos
1. Restauración básica
bash
pg_restore -d mydatabase mybackup.dump
Esto restaura todo el contenido de `mybackup.dump` en la base de datos `mydatabase`.
2. Restaurar con esquema específico
bash
pg_restore -d mydatabase --schema=public mybackup.dump
Este comando restaura sólo el esquema `público` de `mybackup.dump` en `mydatabase`, lo que permite una restauración selectiva.
3. Restaurar con trabajos paralelos
bash
pg_restore -d mydatabase -j 4 mybackup.dump
Aquí, la opción `-j 4` permite el procesamiento en paralelo con cuatro trabajos, lo que acelera la restauración de bases de datos grandes.
4. Restaurar con tabla específica
bash
pg_restore -d mydatabase --table=mytable mybackup.dump
Este comando restaura sólo la tabla "mitabla" de "mibackup.dump" en "mibase de datos".
5. Restaurar sólo datos
bash
pg_restore -d mydatabase --data-only mybackup.dump
Esta opción restaura sólo los datos, sin crear ningún objeto de esquema de base de datos.
6. Restaurar sólo esquema
bash
pg_restore -d mydatabase --schema-only mybackup.dump
Esta opción sólo restaura los objetos del esquema, excluyendo los datos.
Consejos y buenas prácticas
- Utiliza el formato correcto. Asegúrate de que el formato de archivo del fichero de copia de seguridad coincide con las capacidades de `pg_restore`.
- Prueba regularmente las restauraciones. Realiza restauraciones de prueba para verificar que tus copias de seguridad son válidas y pueden restaurarse como se espera.
- Aprovecha los trabajos paralelos. Utiliza la opción `-j` para acelerar la restauración, especialmente en bases de datos grandes.
- Restauración selectiva. Utiliza opciones como `--table`, `--schema`, `--data-only` o `--schema-only` para restaurar partes concretas de la base de datos cuando no sea necesaria una restauración completa.
- Comprueba las dependencias. Ten en cuenta las dependencias de objetos al restaurar tablas o esquemas concretos para evitar que falten referencias. Considera la posibilidad de utilizar la opción `--disable-triggers` para gestionar eficazmente las dependencias durante las restauraciones de sólo datos.
- Tratamiento de errores. Los errores más comunes durante la restauración son la falta de espacios de tablas o de roles. Asegúrate de que el entorno de la base de datos de destino coincide con la configuración original. Utiliza los archivos de registro para diagnosticar y solucionar errores.