Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

236
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!