Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

231
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda