Como restaurar apenas uma ou mais tabelas de um BD Postgres a partir de um arquivo de backup no formato .DMP:


1 - Certificar-se que esteja instalado o PGAdmin 4 em sua máquina, se existe o diretório runtime e se ele contém os binários das ferramentas auxiliares do postgres:




2 - Configurar a "PATH" do sistema para criar um ponteiro para o caminho onde se encontra o diretório de executáveis (bin) do PGAdmin. Fazendo isso, então a tela de CMD do Windows permitirá que qualquer um dos comandos como por exemplo "pg_dump", "pg_restore" e "psql" sejam executados através do prompt em qualquer diretório:




3 - A partir de agora, sempre que se precisar utilizar os comandos "pg_restore", "pg_dump" e "psql", basta abrir o CMD e a partir de qualquer diretório executá-los:



4 - Baixar o arquivo .zip que contém o .DMP através do link do drop box.


Drop Box


5 - Abrir o CMD e rodar o comando:

Para criar um arquivo chamado saida.sql que contenha a criação da tabela + os copys dos registros:

pg_restore -t "lanc" -t "mocc" -Fc -f saida.sql < coopcred.dmp

No exemplo acima estamos extraindo as informações referentes às tabelas lanc e mocc.


Para criar um arquivo chamado saida.sql que contenha SOMENTE os copys dos registros:

pg_restore --data-only -t "lanc" -t "mocc" -Fc -f saida.sql < coopcred.dmp 

No caso, como estávamos dentro do diretório Desktop, o arquivo foi salvo nele.


6 - Para restaurar o conteúdo do arquivo saida.sql basta rodar o comando abaixo no CMD:


psql -U coopcred -d nome_do_bd -h ip_do_bd < saida.sql