Si te encuentras con alguna parte que no comprendes puedes comentarlo y te ayudaremos tan rápido como podamos.
Solución:
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 de 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 archivo 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 el que se encontraba en el momento en que se guardó. Para restaurar desde dicho script, introdúzcalo en psql(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 de almacenamiento 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ías 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 template0 (como se indica en un comentario) antes de restaurar, según cómo se generaron los volcados.
crear copia de seguridad
pg_dump -h localhost -p 5432 -U postgres -F c -b -v -f
"/usr/local/backup/10.70.0.61.backup" old_db
-F c es un formato personalizado (comprimido y se puede hacer en paralelo con -j N) -b incluye blobs, -v es detallado, -f es el nombre del archivo de copia de seguridad
Reinstalar desde el respaldo
pg_restore -h localhost -p 5432 -U postgres -d old_db -v
"/usr/local/backup/10.70.0.61.backup"
importante establecer -h servidor local - opción
Es posible que deba iniciar sesión como postgres
para tener todos los privilegios en las bases de datos.
su - postgres
psql -l # will list all databases on Postgres cluster
pg_dump/pg_restore
pg_dump -U username -f backup.dump database_name -Fc
cambiar -F
especificar el formato del archivo de copia de seguridad:
c
utilizará el formato PostgreSQL personalizado que está comprimido y da como resultado el tamaño de archivo de copia de seguridad más pequeñod
para el directorio donde cada archivo es una tablat
para archivo TAR (más grande que el formato personalizado)-h
/--host
Especifica el nombre de host de la máquina en la que se ejecuta el servidor-W
/--password
Fuerzapg_dump
para solicitar una contraseña antes de conectarse a una base de datos
Restaurar copia de seguridad:
pg_restore -d database_name -U username -C backup.dump
Parámetro -C
debe crear una base de datos antes de importar datos. Si no funciona, siempre puede crear una base de datos, por ejemplo. con comando (como usuario postgres
u otra cuenta que tenga derechos para crear bases de datos) createdb db_name -O owner
pg_dump/psql
En caso de que no haya especificado el argumento -F
se usó el formato SQL de texto sin formato predeterminado (o con -F p
). Entonces no puedes usar pg_restore
. Puede importar datos con psql
.
respaldo:
pg_dump -U username -f backup.sql database_name
restaurar:
psql -d database_name -f backup.sql