Hay dos herramientas para ver, dependiendo de cómo creó el archivo de volcado.
Su primera fuente de referencia debería 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 formatos 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 que se encontraba en el momento en que se guardó. Para restaurar desde dicho script, aliméntelo a 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 alternativos de archivo 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 ser restaurado. Los formatos de archivo de almacenamiento están diseñados para ser portátiles en todas las arquitecturas.
Entonces depende de la forma en que fue arrojado. Probablemente pueda resolverlo usando el excelente file(1)
comando: si menciona texto ASCII y / o SQL, debería restaurarse con, de lo psql
contrario, probablemente debería usarpg_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 varias opciones que afectan el funcionamiento de la restauración. Puede que tenga que limpiar sus bases de datos "en vivo" o volver a crearlas desde template0 (como se señala en un comentario) antes de restaurar, dependiendo de cómo se generaron los volcados.
-d
y-f
al mismo tiempo.pg_restore: options -d/--dbname and -f/--file cannot be used together
cannot be used together
, vea aquí: stackoverflow.com/questions/27882070/…crear copia de seguridad
-F c es un formato personalizado (comprimido y capaz de hacerlo en paralelo con -j N) -b incluye blobs, -v es detallado, -f es el nombre del archivo de respaldo
Reinstalar desde el respaldo
importante establecer -h localhost - opción
fuente
Es posible que deba iniciar sesión como
postgres
para tener privilegios completos en las bases de datos.pg_dump / pg_restore
cambiar
-F
especificar formato de archivo de copia de seguridad:c
utilizará el formato personalizado PostgreSQL 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
Forzarpg_dump
a solicitar una contraseña antes de conectarse a una base de datosRestaurar copia de seguridad:
El 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 usuariopostgres
u otra cuenta que tiene 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 utilizó el formato predeterminado de texto sin formato SQL (o con-F p
). Entonces no puedes usarpg_restore
. Puede importar datos conpsql
.apoyo:
restaurar:
fuente
postgres
) tiene una contraseña establecida, entonces se-W
debe usar la opción. Por ejemplo, en Ubuntu sin hacersu postgres
nada desde la terminal$ psql -h localhost -U postgres -W -d DB_NAME < DB_BACKUP.sql
es el comando que funcionó para mí para restaurar mi copia de seguridad en mi host local. Tenga en cuenta que-h
se necesita la opción.-W
opción nunca es esencial.pg_dump
solicitará automáticamente una contraseña si el servidor requiere autenticación de contraseña. También puede usar laPGPASSWORD
variable env, si está usando contraseñas de texto sin formato.-h
es necesario si el valor predeterminadoPGHOST
no es aplicable. Estas opciones son comunes para muchas utilidades de PostgreSQL, por lo que no son esenciales para responder esta pregunta (depende en gran medida de su configuración).pg_dump/psql
parte de la opción es trabajo para mí. pero la primera partepg_dump/pg_restore
no es trabajo para mí para restaurar. Gracias.-Fc
POSTGRESQL 9.1.12
TUGURIO:
ingrese la contraseña de usuario y presione enter.
RESTAURAR:
ingrese la contraseña de usuario y presione enter.
fuente
A continuación se muestra mi versión
pg_dump
que uso para restaurar la base de datos:o usar
psql
:donde
-h
host,-p
puerto,-u
nombre de usuario de inicio de sesión,-d
nombre de la base de datosfuente
my_new_database
ya debería existir al usarpsql
, ¿no?Copia de seguridad y restauración con GZIP
apoyo
restaurar
https://www.postgresql.org/docs/9.1/static/backup-dump.html
fuente
gunzip -c mydb.pgsql.gz | sudo -u postgres psql
Para obtener los permisos para operar en la base de datos. También--clean
tenga en cuenta la bandera al volcar, que borrará todos los datos existentes, podría ser útil.fuente
Esto funcionó para mí:
fuente
--no-owner
realmente me ayudó.1. Abra la terminal.
2. respalde su base de datos con el siguiente comando
su bin de postgres - /opt/PostgreSQL/9.1/bin/
su servidor de base de datos de origen - 192.168.1.111
la ubicación y el nombre de su archivo de respaldo - /home/dinesh/db/mydb.backup
su nombre de base de datos - mydatabase
/opt/PostgreSQL/9.1/bin/pg_dump --host '192.168.1.111' --port 5432 --username "postgres" --no-password --format custom --blobs --file "/ home / dinesh / db /mydb.backup "" mydatabase "
3. restaure el archivo mydb.backup en el destino.
su servidor de destino - localhost
el nombre de su base de datos de destino - mydatabase
crear una base de datos para restaurar la copia de seguridad.
/opt/PostgreSQL/9.1/bin/psql -h 'localhost' -p 5432 -U postgres -c "CREAR BASE DE DATOS mydatabase"
Restaurar la copia de seguridad.
/opt/PostgreSQL/9.1/bin/pg_restore --host 'localhost' --port 5432 --username "postgres" --dbname "mydatabase" --no-password --clean "/ home / dinesh / db / mydb. apoyo"
fuente
Si crea una copia de seguridad utilizando pg_dump, puede restaurarla fácilmente de la siguiente manera:
cd "C:\ProgramFiles\PostgreSQL\9.5\bin"
For example: psql.exe -U postgres -d YourDatabase -f D:\Backup\.sql
fuente
1) Abra el terminal psql.
2) Descomprima / descomprima el archivo de volcado.
3) Crear una base de datos vacía.
4) use el siguiente comando para restaurar el archivo .dump
fuente
prueba esto:
Restaurar DB psql del archivo .sql
fuente
Como se indica a continuación, puede usar el comando psql para restaurar el archivo de volcado:
https://www.postgresql.org/docs/8.1/static/backup.html#BACKUP-DUMP-RESTORE
si necesita establecer un nombre de usuario, simplemente agregue el nombre de usuario después del comando como:
fuente
tratar:
fuente
La restauración de un archivo de copia de seguridad de Postgres depende de cómo tomó la copia de seguridad en primer lugar.
Si usó pg_dump con -F c o -F d, debe usar pg_restore; de lo contrario, puede usar
9 formas de hacer copias de seguridad y restaurar bases de datos postgres
fuente
Intente ver si los siguientes comandos pueden ayudarlo:
fuente
Perdón por el necropost, pero estas soluciones no me funcionaron. Estoy en Postgres 10. En Linux:
service postgresql-10 restart
Cambie el directorio a donde estaba ubicado mi backup.sql y ejecute:
psql postgres -d database_name -1 -f backup.sql
-database_name es el nombre de mi base de datos
-backup.sql es el nombre de mi archivo de copia de seguridad .sql.
fuente
Estaba teniendo problemas de autenticación al ejecutar pg_dump, así que moví mi archivo de volcado
en el directorio temporal y luego ejecutó
Si tiene un volcado de base de datos grande, es posible que solo desee crear otro directorio donde su usuario actual y el usuario de postgres puedan acceder y colocar el archivo de volcado de la base de datos en eso.
fuente
Si tiene un archivo SQL de respaldo, puede restaurarlo fácilmente. Simplemente siga las instrucciones que se dan a continuación.
Escriba la contraseña para su usuario de Postgres si es necesario y deje que Postgres haga su trabajo. Luego puede verificar el proceso de restauración.
fuente
Si desea hacer una copia de seguridad de sus datos o restaurarlos desde una copia de seguridad, puede ejecutar los siguientes comandos:
Para crear una copia de seguridad de sus datos, vaya a su directorio postgres \ bin \ like
C:\programfiles\postgres\10\bin\
y luego escriba el siguiente comando:Para restaurar los datos de una copia de seguridad, vaya a su directorio postgres \ bin \ like
C:\programfiles\postgres\10\bin\
y luego escriba el siguiente comando:Asegúrese de que exista el archivo de copia de seguridad.
fuente
Ver abajo ejemplo está funcionando
C: / Archivos de programa / PostgreSQL / 9.4 / bin \ pg_restore.exe --host localhost --port 5432 --username "postgres" --dbname "newDatabase" --no-password --verbose
" C: \ Users \ Yogesh \ Downloads \ new Download \ DB.backup "
fuente