Repor um ficheiro de salvaguarda postgres com a linha de comandos?

sou novo no pós-gresql, e localmente, uso o PG admin3. No servidor remoto, no entanto, Não tenho esse luxo.

já criei o backup da base de dados e copiei-o, mas, existe uma maneira de restaurar um backup da linha de comando? Eu só vejo coisas relacionadas com GUI ou PG_ Paps, então, se alguém pode me dizer como fazer sobre isso, isso seria ótimo!

Author: Hardik Mishra, 2010-04-28

15 answers

Existem duas ferramentas para olhar, dependendo de como você criou o arquivo dump.

A tua primeira fonte de referência deve ser a página do homem {[[2]} pois é isso que cria a lixeira em si. Diz:

Os resultados podem ser obtidos no programa ou formatos de arquivo. Os resultados do programa são ficheiros de texto simples que contêm o SQL comandos necessários para reconstruir a base de dados para o estado era na altura, foi salvo. Para repor a partir de tal programa, alimentá - lo a psql (1). Os ficheiros de Script podem ser usados para reconstruir a base de dados mesmo sobre outras máquinas e outros arquitecturas; com algumas modificações mesmo em outros produtos de base de dados SQL.

Os formatos de arquivo alternativos deve ser usado com pg_restore (1) para reconstruir a base de dados. Eles permitem pg_restore para ser seletivo sobre o que é restaurado, ou mesmo para reordenar o itens antes de serem restaurados. O os formatos de ficheiros de arquivo são desenhados para ser portátil através arquitectura.

Depende da forma como foi despejado. Você provavelmente pode descobrir isso usando o excelente comando file(1) - Se ele menciona texto ASCII e / ou SQL, ele deve ser restaurado com psql caso contrário, você provavelmente deve usar pg_restore

Restaurar é muito fácil:

psql -U <username> -d <dbname> -1 -f <filename>.sql

Ou

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

Confira suas respectivas páginas-há algumas opções que afetam como a restauração funciona. Você pode ter que limpar suas bases de dados" ao vivo " ou recriá-las a partir de template0 (como indicado em um comentário) antes de restaurar, dependendo de como os dumps foram gerados.

 181
Author: Steven Schlansker, 2016-08-25 16:17:08

Criar uma cópia de segurança

pg_dump -i -h localhost -p 5432 -U postgres -F c -b -v -f 
"/usr/local/backup/10.70.0.61.backup" old_db

Repor a partir da cópia de segurança

pg_restore -i -h localhost -p 5432 -U postgres -d old_db -v 
"/usr/local/backup/10.70.0.61.backup"

importante para definir - h localhost - Opção

 114
Author: pilot, 2012-05-28 08:55:25

Você pode precisar de ser logado como postgres para ter privilégios completos em bases de dados.

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 

Switch -F especifique o formato do ficheiro de salvaguarda:

  • c irá usar o formato PostgreSQL personalizado que é comprimido e resulta no menor tamanho de backup
  • d para a pasta em que cada ficheiro é uma tabela
  • t Para O arquivo TAR (maior que o formato personalizado)
  • -h/--host Indica o nome da máquina na qual o servidor está a correr
  • -W/--password forçar pg_dump a pedir uma senha antes de se ligar a uma base de dados

Restaurar a cópia de segurança:

   pg_restore -d database_name -U username -C backup.dump

O parâmetro -C deve criar uma base de dados antes de importar dados. Se não funcionar você pode sempre criar banco de dados eg. com o comando (como utilizador postgres ou outra conta que tenha direitos para criar bases de Dados) createdb db_name -O owner

Pg_dump/psql

No caso de você não foi indicado o argumento -F que foi usado o formato SQL de texto simples por omissão (ou com -F p). Então não podes usar pg_restore. Você pode importar dados com psql.

Cópia de segurança:

pg_dump -U username -f backup.sql database_name

Restaurar:

psql -d database_name -f backup.sql
 51
Author: Tombart, 2018-09-20 07:42:43

POSTGRESQL 9. 1. 12

DUMP:

pg_dump -U user db_name > archive_name.sql

Coloque a senha do utilizador e carregue em enter.

Restaurar:

psql -U user db_name < /directory/archive.sql

Coloque a senha do utilizador e carregue em enter.

 35
Author: Natan Medeiros, 2017-05-01 06:07:42

Abaixo está a minha versão de {[2] } que eu uso para restaurar a base de Dados:

pg_restore -h localhost -p 5432 -U postgres -d my_new_database my_old_database.backup

Ou utilizar psql:

psql -h localhost -U postgres -p 5432 my_new_database < my_old_database.backup

Em que -h máquina, -p Porta, -u utilizador de autenticação, -d Nome da base de Dados

 22
Author: Yahor M, 2018-03-09 14:26:16

Fazer a cópia de segurança e repor com o GZIP

Para uma base de dados de tamanho maior isto é muito bom

Apoio

pg_dump -U user -d mydb | gzip > mydb.pgsql.gz

Revore

gunzip -c mydb.pgsql.gz | psql dbname -U user

Https://www.postgresql.org/docs/9.1/static/backup-dump.html

 7
Author: Sarath Ak, 2016-10-14 07:13:14
Backup:  $ pg_dump -U {user-name} {source_db} -f {dumpfilename.sql}

Restore: $ psql -U {user-name} -d {desintation_db} -f {dumpfilename.sql}
 6
Author: Aaron Lelevier, 2014-07-30 16:15:27

1.abra o terminal.

2.salvaguardar a sua base de dados com o seguinte comando

Os seus postgres bin - /opt / PostgreSQL / 9, 1/bin /

O seu servidor de base de dados de origem - 192. 168. 1. 111

A sua localização de cópia de segurança e nome - /home/dinesh/db/mydb.cópia de segurança

O seu nome de código db-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.cópia de segurança "mydatabase"

3.restaurar o mydb.ficheiro de cópia de segurança para o destino.

O seu servidor de destino-localhost

O nome da sua base de dados de destino - mydatabase

Criar uma base de dados para restaurar a cópia de segurança.

/ opt/PostgreSQL / 9. 1/bin / psql-h 'localhost' - p 5432-U postgres-c "CREATE DATABASE mydatabase"

Restaure o backup.

/ opt/PostgreSQL / 9. 1/bin / pg_restore --host 'localhost' --port 5432 --nome de utilizador "postgres" --dbname "mydatabase" --no-password --clean " / home/dinesh/db / mydb.cópia de segurança"

 5
Author: Dinesh-SriLanka, 2013-10-11 06:09:53

Como abaixo do link disse, Você pode usar o comando psql para restaurar o ficheiro dump:

Https://www.postgresql.org/docs/8.1/static/backup.html#BACKUP-DUMP-RESTORE

psql dbname < infile

Se precisar de definir o nome de utilizador, basta adicionar o nome de utilizador a seguir ao comando como:

psql dbname < infile username
 2
Author: Maryam Saeidi, 2017-05-06 08:46:23

Se criar uma cópia de segurança usando o pg_dump, poderá restaurá-la facilmente da seguinte forma:

  1. abrir a janela da linha de comandos
  2. Vá para a pasta do bin Postgres. Por exemplo: cd "C:\ProgramFiles\PostgreSQL\9.5\bin"
  3. introduza o comando para restaurar a sua base de dados. For example: psql.exe -U postgres -d YourDatabase -f D:\Backup\.sql
  4. escreva a senha para o seu utilizador de postgres
  5. Verifique o processo de restauração
 2
Author: Nick Taylor, 2017-05-30 10:46:18

Tente ver se os seguintes comandos o podem ajudar:

sudo su - yourdbuser
psql
\i yourbackupfile
 2
Author: Mehmet Ali, 2017-08-09 15:54:53

Restaurar um arquivo de backup postgres depende de como você tomou o backup em primeiro lugar.

Se usou pg_dump com-F C ou-F D precisa de usar pg_restore caso contrário pode apenas usar

Psql-h localhost-p 5432-U postgres

9 formas de salvaguardar e restaurar as bases de dados postgres

 1
Author: Prashant Kumar, 2014-10-14 17:22:29

Estava a ter problemas de autenticação ao executar o pg_dump, por isso mudei o meu ficheiro de descarga

mv database_dump /tmp

No directório temp e depois correu

su -u postgres
cd /tmp
pg_restore database_dump

Se tiver uma grande descarga de bases de dados, poderá apenas querer criar outra pasta onde o seu utilizador actual e o utilizador de postgres possam aceder e colocar o ficheiro de 'dump' de bases de dados nisso.

 0
Author: user1876508, 2017-07-19 03:04:47

Se quiser salvaguardar os seus dados ou restaurar os dados de uma cópia de segurança, pode executar os seguintes comandos:

1 para criar uma cópia de segurança dos seus dados, vá para o seu postgres \bin\ directory como C:\programfiles\postgres\10\bin\ e depois escreva o seguinte comando - pg_dump -FC -U ngb -d ngb -p 5432 >C:\BACK_UP\ngb.090718_after_readUpload.backup

2 para restaurar os dados de uma cópia de segurança, vá para o seu postgres \bin\ directory como C:\programfiles\postgres\10\bin\ e depois escreva abaixo do comando - C:\programFiles\postgres\10\bin> pg_restore -Fc -U ngb -d ngb -p 5432 <C:\ngb.130918.backup

Por favor, certifique-se que o ficheiro de salvaguarda existe.

 0
Author: Girjesh Kumar Suryawanshi, 2018-09-17 10:46:30

Ver abaixo exemplo de funcionamento

C:/Program Files/PostgreSQL/9.4 / bin\pg_restore.exe --host localhost -- port 5432 --username "postgres" --dbname "newDatabase" --no-password --verbose

"C:\Users\Yogesh\Downloads\new telecarregamento\DB.cópia de segurança"

 -3
Author: user3881346, 2015-05-23 06:35:27