Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

235
Vistas
Restaurar los datos de pg_dump no sobrescribe los datos pero los agrega a la base de datos original

Estoy tomando el volcado de la base de datos de postgres usando "pg_dump database_name> backup.sql". Más tarde estoy haciendo algunas modificaciones en la base de datos original (database_name) y luego estoy restaurando los datos del archivo de copia de seguridad (backup.sql). Pero el resultado es que la base de datos no se restaura al estado original, sino que agrega los datos originales a los datos modificados (modificados + originales). Solo quiero que se restaure al estado original, ¿debería eliminar todos los datos? datos de la base de datos antes de restaurarlos desde el archivo de copia de seguridad, ya que proporciona el estado original de la base de datos. ¿O hay alguna otra manera de hacer esto?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

El formato predeterminado para pg_dump es simple, por lo que crea una instrucción COPY . Por lo tanto, cuando psql backup.sql simplemente ejecuta esa copy sobre los datos existentes. Para reescribir datos, primero debe eliminar las tablas o pg_dump -F c y pg_restore -c .

Advertencia: en ambos casos, destruirá los datos antiguos (aunque esto parece ser lo que quieres)

-c --clean Limpia (elimina) los objetos de la base de datos antes de volver a crearlos. (A menos que se use --if-exists, esto podría generar algunos mensajes de error inofensivos, si algún objeto no estuviera presente en la base de datos de destino).

Como sugiere @Craig Ringer, soltar/recrear desde la copia de seguridad sería mucho más fácil y limpio. Para eliminar la base de datos, ejecute DROP DATABASE au ; tenga en cuenta que no debe haber usuarios conectados al éxito. Luego debe crear db: CREATE DATABASE au y ejecutar psql -f backup.sql -d au

over 4 years ago · Santiago Trujillo Denunciar

0

Realice el volcado con la opción -c : pg_dump -c database_name > backup.sql . Consulte los documentos de pg_dump .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda