PostgreSql Backup e Restauração de Banco no Linux [Manual]

Backup Postgres Pelo Terminal. 

Bem vindos ao Blog DomínioTXT.
DominioTXT PostgreSql
Este manual será dividido em duas etapas a primeira para o Command do Windows e a segunda parte para o Terminal do Linux.

Hoje o assunto é backup e restauração de um banco de dados PostgreSql em ambos os ambientes Linux e Windows. Vou demonstrar como efetuar este processo no Terminal do Linux e através do Command do Windows que também permite a utilização através da interface do PgAdmin e a mesma é bem intuitiva portanto fica para um futuro manual referente a interfaces. 


A utilização do mesmo é bem simples e chega ser até mais rápida se utilizada pelo modo texto ao contrario da interface que costuma “bugar” em muitas ocasiões. Os comandos demonstrados funcionam em ambas as plataformas com algumas modificações. Primeiro vamos trabalhar no Command e na sequencia no Terminal.

Backup pelo Terminal Linux.

No terminal do Linux podemos localizar a pasta “bin” do Postgres pelo seguinte comando.
#ps aux | grep postgres

O mesmo retornara o local da pasta que no meu caso é “/usr/bin” então vou me dirigir a pasta “bin” com o comando a seguir.
#cd /usr/bin

Neste ponto vamos efetuar loguin no usuário do Postgres, desta forma teremos acesso aos comandos do banco mais facilmente.
#su postgres

Agora vamos efetuar o backup do banco de dados desejado. Para isso vamos chamar o mesmo comando do “Postgres” do Windows “pg_dump” mas mudaremos as variáveis para o nosso O.S.. No comando a seguir o “banco” é o nome exato do banco de dados o qual pretende efetuar o backup e “-f /pasta/backup.bkp” é onde e qual nome pretende dar ao arquivo de backup.
#pg_dump banco -f /pasta/backup.bkp

Agora que já temos o backup vamos restaurar o mesmo em uma banco de dados do nosso “localhost”. Para isso teremos que “logar” no data-base desejado suando os seguinte comando. No comando a seguir “banco” é o nome exato do banco de dados o qual pretende efetuar a restauração.

#psql banco

Se não estiver certo quanto ao nome exato do banco pode ser usado o comando abaixo para listar todos no Terminal.
#psql -l

Dentro do banco de dados usaremos o comando de importação para o banco atual.
#\i /pasta/backup.bkp

Esta efetuado o backup e restauração do banco de dados no Postgres pelo Terminal agora podemos usar o comando para efetuar logof do banco.
#\q

Obs: No Linux um dos diferenciais é a possibilidade de efetuar o loguim do usuário o que nos poupa o uso do parâmetro de usuário “-U usuário” para a maioria dos comandos.
Obs.2: A maioria dos comando podem ser utilizados em ambas as plataformas sendo necessário adapta-los as regras da mesma.

Abaixo teremos mais alguns comandos que podem ser muito útil para quem esta trabalhando com o banco através de linha de comando.
Caso tenha necessidade de restaurar o backup em um banco diferente basta cria-lo e colocar o nome dele no lugar o original.

Para criar um banco de dados pelo Command ou Terminal basta usar o seguinte código.
Comand:
#createdb -O usuário banco
Terminal:
#
createdb -U usuario -O usuario banco_nome

Caso precise excluir um banco.
Comand:
#dropdb -h localhost -U usuário banco
Terminal:
#dropdb banco

Parar e subir serviço do PostgresSql.
Command:
#pg_ctl -U usuario -D “C:\Program Files (x86)\PostgreSQL\9.1\data” stop
#pg_ctl -U usuario -D “C:\Program Files (x86)\PostgreSQL\9.1\data” start

Terminal:
#pg_ctl /var/lib/pgsql/data stop
#pg_ctl /var/lib/pgsql/data start


Para visualizar a parte 1 referente ao mesmo procedimento porem através do Command clique Backup Postgres Pelo Commad.


Também recomendamos que veja nosso tutorial que trata de "Instalando servidor PostgreSql no Linux" pois o PostgreSql só é totalmente Gratuito quando utilizado em ambiente Linux.

A todos o meu singelo agradecimento.


Gostou do Blog, então deixe o seu comentário.
Quer sugerir algum assunto? Notou algo que não confere com o assunto?
Mande sua opinião, sugestão ou reclamação. Contato DomínioTXT.


Fonte:  PostgreSql Backup and Restore
Copyright © 2013 DomínioTXT - Informatica