sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Restaurar un archivo de respaldo de postgres usando la línea de comando?

Hay dos herramientas para mirar, dependiendo de cómo haya creado el archivo de volcado.

Su primera fuente de referencia debe ser la página del manual pg_dump(1) ya que eso es lo que crea el volcado en sí. Dice:

Los volcados se pueden generar en formato de script o de archivo. Los volcados de secuencias de comandos son archivos de texto sin formato que contienen los comandos SQL necesarios para reconstruir la base de datos al estado en que se encontraba en el momento en que se guardó. Para restaurar desde dicho script, introdúzcalo en topsql(1). Los archivos de script se pueden usar para reconstruir la base de datos incluso en otras máquinas y otras arquitecturas; con algunas modificaciones, incluso en otros productos de bases de datos SQL.

Los formatos de archivo alternativos deben usarse con pg_restore(1) para reconstruir la base de datos. Permiten que pg_restore sea selectivo sobre lo que se restaura, o incluso reordenar los elementos antes de restaurarlos. Los formatos de archivo de almacenamiento están diseñados para ser portátiles entre arquitecturas.

Así que depende de la forma en que se descargó. Probablemente puedas resolverlo usando el excelente file(1) comando:si menciona texto ASCII y/o SQL, debe restaurarse con psql de lo contrario, probablemente debería usar pg_restore

Restaurar es bastante fácil:

psql -U username -d dbname < filename.sql

-- For Postgres versions 9.0 or earlier
psql -U username -d dbname -1 -f filename.sql

o

pg_restore -U username -d dbname -1 filename.dump

Consulte sus respectivas páginas de manual:hay bastantes opciones que afectan el funcionamiento de la restauración. Es posible que deba limpiar sus bases de datos "vivas" o volver a crearlas desde la plantilla 0 (como se indica en un comentario) antes de restaurar, dependiendo de cómo se generaron los volcados.