Saltar al contenido
DBAExperts
PostgreSQL Respaldos y recuperación

Cómo restaurar un respaldo en PostgreSQL con pg_restore y psql

Restaurar bien depende del formato del respaldo. Los dumps custom o directory se restauran con pg_restore; los dumps en texto plano (.sql) se cargan con psql.

  1. 1

    Crea la base destino vacía

    pg_restore no crea la base por sí solo salvo que uses -C. Lo más predecible es crearla antes y restaurar dentro de ella.

    createdb -U postgres ventas_restore
  2. 2

    Restaura un dump custom con pg_restore

    Para formato -Fc usa pg_restore. La opción -j paraleliza la carga y acelera bases grandes; --no-owner evita fallar por roles que no existen en el destino.

    pg_restore -U postgres -d ventas_restore -j 4 --no-owner ventas.dump
  3. 3

    Restaura un dump en SQL plano con psql

    Si el respaldo es un .sql generado con formato plain, pg_restore no aplica: cárgalo con psql.

    psql -U postgres -d ventas_restore -f respaldo.sql
  4. 4

    Restaura solo una tabla del dump

    El formato custom permite restauración selectiva. Usa -t para traer una sola tabla sin cargar todo el respaldo.

    pg_restore -U postgres -d ventas_restore -t clientes ventas.dump

// el error común

Restaurar sobre una base con datos usando --clean elimina objetos existentes antes de recrearlos: si apuntas a la base equivocada, borras producción. Verifica siempre el -d destino antes de ejecutar.

// cuándo conviene un experto

Cuando la restauración es parte de una recuperación real ante un incidente, el tiempo importa y los errores se pagan caro. Si necesitas un RTO/RPO definidos y probados, en dba.mx diseñamos y ensayamos el procedimiento de recuperación antes de que lo necesites.

Agenda un Escaneo — desde USD $550

Esta guía es orientativa y usa comandos de referencia. En producción, adapta a tu versión y prueba en un ambiente seguro primero.