Re: [pgbr-geral] Backup | Restore | PITR

2014-10-31 Por tôpico Fabrízio de Royes Mello
On 28-10-2014 17:51, Matheus de Oliveira wrote:
 2014-10-28 17:10 GMT-02:00 Danilo Silva danilo.dsg.go...@gmail.com:
 
 Agora me surgiu uma dúvida. Como controlo corretamente os arquivos que
 posso apagar do diretório pg_xlog após a conclusão do pg_stop_backup() ?


 Se o comando especificado no archive_command estiver funcionando, o
 Postgres mesmo irá eliminar os arquivos do pg_xlog.


 Meu xará já explicou, mas só para ser mais enfático:
 
 NUNCA! NUNCA! EM HIPÓTESE ALGUMA! JAMAIS PENSEM EM
 REMOVER/EDITAR/RENOMEAR/WHATEVER QUALQUER ARQUIVO DENTRO DO DIRETÓRIO
 pg_xlog
 
 O pg_xlog é gerenciado pelo próprio PostgreSQL, você só pode
 remover/editar/renomear/whatever os arquivos dentro do diretório onde está
 salvando os logs arquivados (apontado pelo archive_command).
 

Não apenas no pg_xlog, mas também em qualquer arquivo/diretório do
cluster, com exceção dos arquivos de configuração (postgresql.conf e
pg_hba.conf) e no pg_log onde armazena logs de atividade, caso vc tenha
configurado dessa forma.

O resto deve ser INTOCÁVEL, a não ser que vc tenha muita certeza do
que está fazendo... :-)


-- 
   Fabrízio de Royes Mello Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento



signature.asc
Description: OpenPGP digital signature
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Backup | Restore | PITR

2014-10-31 Por tôpico Sebastian Webber
2014-10-28 17:51 GMT-02:00 Matheus de Oliveira matioli.math...@gmail.com:


 NUNCA! NUNCA! EM HIPÓTESE ALGUMA! JAMAIS PENSEM EM
 REMOVER/EDITAR/RENOMEAR/WHATEVER QUALQUER ARQUIVO DENTRO DO DIRETÓRIO
 pg_xlog


Isso é tão verdade, que podia virar uma camiseta! :D

-- 
Sebastian Webber
http://swebber.me
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Backup | Restore | PITR

2014-10-28 Por tôpico Fernando Cambiaghi
Bom dia Pessoal,

Sou novo na lista, tenho acompanhado alguns emails e fico impressionado com
a dedicação do pessoal em responder a todas as questões com o nível
incrível de detalhe. Parabéns.

Fiz um curso na Dextra em SP a uns dois anos, e estou trabalhando para
migrar um banco de dado X para PostgreSQL. ( Estou utilizando windows 7
com versão 9.3.5 do PostgreSQL.

O tamanho da minha base de dados é relativamente pequena ( 231 tabelas
ocupando um total entre 4GB e 5GB ).

Pois bem, a migração do bando está feita ( Homologando ), e agora estou me
apegando a entender a parte de Backup e Restore, mas estou tendo muita
dificuldade, mas creio que por falta de entendimento meu.

No meu ambiente atual, faço backup completo do banco de dados todas as
noites, com o banco online e em uso, e tenho o log de transações para, em
caso de catástrofe*, posso pegar o último backup completo e aplicar o log
atual ( Tem todo um processo de transcrever e ler o mesmo para o banco ).


Com o PostgreSQL, entendi que para ter um ambiente igual, para em caso de
catástrofe poder recuperar os dados para o mais atual possível, eu devo
efetuar um backup completo diariamente ( estou fazendo isso com o pg_dump )
e manter os archives ativados [1]. Até aí creio que fiz tudo certo.

Para simular uma catástrofe, eu desligo o computador com transações
ocorrendo no banco, e quando ligo novamente, não consigo nem subir o
serviço do postgres, aí é que começo a apanhar.

Desinstalo e reinstalo o postgres, mesma versão, volto o backup
(pg_restore) e sigo as instruções de [1], mas não consigo. Quando digo não
consigo, é estou fazendo algo errado, não volta os archives.

Gostaria de saber se alguém tem um passo a passo mais detalhado de como
fazer isso, pois não quero colocar o banco postgres em produção sem ter
domínio de como restaurar um backup em caso de problemas.

[1] http://www.postgresql.org/docs/9.3/static/continuous-archiving.html

*Qualquer tipo de perda de dados ou do próprio banco de dados.

Perdoem por me alongar tanto, mas queria apresentar minha situação e
apresentação ao grupo.

Agradeço a todos pela compreensão.

Fernando Luís Cambiaghi
*cambia...@gmail.com cambia...@gmail.com*
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Backup | Restore | PITR

2014-10-28 Por tôpico Jean Pereira

Bom dia,

Sugiro a leitura do livro Instant PostgreSQL Backup and Restore 
How-to, gostei muito do mesmo, e além do que já foi recomendado aqui na 
lista também.



On 10/28/2014 08:44 AM, Fernando Cambiaghi wrote:

Bom dia Pessoal,

Sou novo na lista, tenho acompanhado alguns emails e fico 
impressionado com a dedicação do pessoal em responder a todas as 
questões com o nível incrível de detalhe. Parabéns.


Fiz um curso na Dextra em SP a uns dois anos, e estou trabalhando para 
migrar um banco de dado X para PostgreSQL. ( Estou utilizando 
windows 7 com versão 9.3.5 do PostgreSQL.


O tamanho da minha base de dados é relativamente pequena ( 231 tabelas 
ocupando um total entre 4GB e 5GB ).


Pois bem, a migração do bando está feita ( Homologando ), e agora 
estou me apegando a entender a parte de Backup e Restore, mas estou 
tendo muita dificuldade, mas creio que por falta de entendimento meu.


No meu ambiente atual, faço backup completo do banco de dados todas as 
noites, com o banco online e em uso, e tenho o log de transações para, 
em caso de catástrofe*, posso pegar o último backup completo e aplicar 
o log atual ( Tem todo um processo de transcrever e ler o mesmo para o 
banco ).



Com o PostgreSQL, entendi que para ter um ambiente igual, para em caso 
de catástrofe poder recuperar os dados para o mais atual possível, eu 
devo efetuar um backup completo diariamente ( estou fazendo isso com o 
pg_dump ) e manter os archives ativados [1]. Até aí creio que fiz tudo 
certo.


Para simular uma catástrofe, eu desligo o computador com transações 
ocorrendo no banco, e quando ligo novamente, não consigo nem subir o 
serviço do postgres, aí é que começo a apanhar.


Desinstalo e reinstalo o postgres, mesma versão, volto o backup 
(pg_restore) e sigo as instruções de [1], mas não consigo. Quando digo 
não consigo, é estou fazendo algo errado, não volta os archives.


Gostaria de saber se alguém tem um passo a passo mais detalhado de 
como fazer isso, pois não quero colocar o banco postgres em produção 
sem ter domínio de como restaurar um backup em caso de problemas.


[1] http://www.postgresql.org/docs/9.3/static/continuous-archiving.html

*Qualquer tipo de perda de dados ou do próprio banco de dados.

Perdoem por me alongar tanto, mas queria apresentar minha situação e 
apresentação ao grupo.


Agradeço a todos pela compreensão.

Fernando Luís Cambiaghi
/cambia...@gmail.com mailto:cambia...@gmail.com/



___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Backup | Restore | PITR

2014-10-28 Por tôpico Thiago Haroldo
Bom dia Fernando.

Sempre que seu banco PostgreSQL der problema, entre no Event Viwer do
windows e verifique o log do banco de dados... Sempre vai ter um log que
vai lhe ajudar a resolver seu problema.




Em 28 de outubro de 2014 08:44, Fernando Cambiaghi cambia...@gmail.com
escreveu:

 Bom dia Pessoal,

 Sou novo na lista, tenho acompanhado alguns emails e fico impressionado
 com a dedicação do pessoal em responder a todas as questões com o nível
 incrível de detalhe. Parabéns.

 Fiz um curso na Dextra em SP a uns dois anos, e estou trabalhando para
 migrar um banco de dado X para PostgreSQL. ( Estou utilizando windows 7
 com versão 9.3.5 do PostgreSQL.

 O tamanho da minha base de dados é relativamente pequena ( 231 tabelas
 ocupando um total entre 4GB e 5GB ).

 Pois bem, a migração do bando está feita ( Homologando ), e agora estou me
 apegando a entender a parte de Backup e Restore, mas estou tendo muita
 dificuldade, mas creio que por falta de entendimento meu.

 No meu ambiente atual, faço backup completo do banco de dados todas as
 noites, com o banco online e em uso, e tenho o log de transações para, em
 caso de catástrofe*, posso pegar o último backup completo e aplicar o log
 atual ( Tem todo um processo de transcrever e ler o mesmo para o banco ).


 Com o PostgreSQL, entendi que para ter um ambiente igual, para em caso de
 catástrofe poder recuperar os dados para o mais atual possível, eu devo
 efetuar um backup completo diariamente ( estou fazendo isso com o pg_dump )
 e manter os archives ativados [1]. Até aí creio que fiz tudo certo.

 Para simular uma catástrofe, eu desligo o computador com transações
 ocorrendo no banco, e quando ligo novamente, não consigo nem subir o
 serviço do postgres, aí é que começo a apanhar.

 Desinstalo e reinstalo o postgres, mesma versão, volto o backup
 (pg_restore) e sigo as instruções de [1], mas não consigo. Quando digo não
 consigo, é estou fazendo algo errado, não volta os archives.

 Gostaria de saber se alguém tem um passo a passo mais detalhado de como
 fazer isso, pois não quero colocar o banco postgres em produção sem ter
 domínio de como restaurar um backup em caso de problemas.

 [1] http://www.postgresql.org/docs/9.3/static/continuous-archiving.html

 *Qualquer tipo de perda de dados ou do próprio banco de dados.

 Perdoem por me alongar tanto, mas queria apresentar minha situação e
 apresentação ao grupo.

 Agradeço a todos pela compreensão.

 Fernando Luís Cambiaghi
 *cambia...@gmail.com cambia...@gmail.com*

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Backup | Restore | PITR

2014-10-28 Por tôpico Matheus Ricardo Espanhol
Bom dia Fernando,

Com o PostgreSQL, entendi que para ter um ambiente igual, para em caso de
 catástrofe poder recuperar os dados para o mais atual possível, eu devo
 efetuar um backup completo diariamente ( estou fazendo isso com o pg_dump )
 e manter os archives ativados [1]. Até aí creio que fiz tudo certo.


Acho que o erro está nesse ponto. O backup completo diário com pg_dump não
pode ser usado junto com os archive logs. Para restaurar o banco no estado
mais atual possível, além de utilizar o arquivamento de logs de transação,
é preciso executar o backup base, descrito na seção 24.3.3 do link que você
está seguindo [1].

É recomendado ter as 2 opções de backup (pg_dump e archive). Para restaurar:

pg_dump - pg_restore
archive- backup base + archive logs

[1] http://www.postgresql.org/docs/9.3/static/continuous-archiving.html
[2] http://www.postgresql.org/docs/9.3/static/app-pgbasebackup.html


-- 
Matheus Ricardo Espanhol
---
Dextra Sistemas
http://www.dextra.com.br/postgres
www.pganalytics.io
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Backup | Restore | PITR

2014-10-28 Por tôpico Fernando Cambiaghi
Matheus, obrigado pela resposta, eu estava mesmo combinando os tipos de
backup e restore errados. Gostaria de parabenizá-lo aqui no grupo pelo
Webinar sobre PgAnalytics, eu participei e achei muito bom.

Thiago, obrigado pela ajuda, com sua dica o restore funcionou perfeitamente
de forma simples demais.

Jean, vou dar uma olhada neste livro assim que possível, agradeço a atenção.

Agora me surgiu uma dúvida. Como controlo corretamente os arquivos que
posso apagar do diretório pg_xlog após a conclusão do pg_stop_backup() ?

Agradeço muito a colaboração dada por todos.



Fernando Luís Cambiaghi
*cambia...@gmail.com cambia...@gmail.com*

Em 28 de outubro de 2014 09:16, Matheus Ricardo Espanhol 
matheusespan...@gmail.com escreveu:

 Bom dia Fernando,

 Com o PostgreSQL, entendi que para ter um ambiente igual, para em caso de
 catástrofe poder recuperar os dados para o mais atual possível, eu devo
 efetuar um backup completo diariamente ( estou fazendo isso com o pg_dump )
 e manter os archives ativados [1]. Até aí creio que fiz tudo certo.


 Acho que o erro está nesse ponto. O backup completo diário com pg_dump não
 pode ser usado junto com os archive logs. Para restaurar o banco no estado
 mais atual possível, além de utilizar o arquivamento de logs de transação,
 é preciso executar o backup base, descrito na seção 24.3.3 do link que você
 está seguindo [1].

 É recomendado ter as 2 opções de backup (pg_dump e archive). Para
 restaurar:

 pg_dump - pg_restore
 archive- backup base + archive logs

 [1] http://www.postgresql.org/docs/9.3/static/continuous-archiving.html
 [2] http://www.postgresql.org/docs/9.3/static/app-pgbasebackup.html


 --
 Matheus Ricardo Espanhol
 ---
 Dextra Sistemas
 http://www.dextra.com.br/postgres
 www.pganalytics.io

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Backup | Restore | PITR

2014-10-28 Por tôpico Matheus Ricardo Espanhol
Em 28 de outubro de 2014 11:17, Fernando Cambiaghi cambia...@gmail.com
escreveu:

 Matheus, obrigado pela resposta, eu estava mesmo combinando os tipos de
 backup e restore errados. Gostaria de parabenizá-lo aqui no grupo pelo
 Webinar sobre PgAnalytics, eu participei e achei muito bom.


Obrigado Fernando,



 Agora me surgiu uma dúvida. Como controlo corretamente os arquivos que
 posso apagar do diretório pg_xlog após a conclusão do pg_stop_backup() ?


Se o comando especificado no archive_command estiver funcionando, o
Postgres mesmo irá eliminar os arquivos do pg_xlog. Mas para eliminar os
arquivos antigos de backup (destino do archive_command) você deve renovar o
backup base antes de remover archive logs anteriores. O pg_archivecleanup
te ajuda com isso:

http://www.postgresql.org/docs/9.3/static/pgarchivecleanup.html


-- 
Matheus Ricardo Espanhol
---
Dextra Sistemas
http://www.dextra.com.br/postgres
www.pganalytics.io
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Backup | Restore | PITR

2014-10-28 Por tôpico Danilo Silva
Em 28 de outubro de 2014 13:24, Matheus Ricardo Espanhol 
matheusespan...@gmail.com escreveu:


 Em 28 de outubro de 2014 11:17, Fernando Cambiaghi cambia...@gmail.com
 escreveu:

 Matheus, obrigado pela resposta, eu estava mesmo combinando os tipos de
 backup e restore errados. Gostaria de parabenizá-lo aqui no grupo pelo
 Webinar sobre PgAnalytics, eu participei e achei muito bom.


 Obrigado Fernando,



 Agora me surgiu uma dúvida. Como controlo corretamente os arquivos que
 posso apagar do diretório pg_xlog após a conclusão do pg_stop_backup() ?


 Se o comando especificado no archive_command estiver funcionando, o
 Postgres mesmo irá eliminar os arquivos do pg_xlog. Mas para eliminar os
 arquivos antigos de backup (destino do archive_command) você deve renovar o
 backup base antes de remover archive logs anteriores. O pg_archivecleanup
 te ajuda com isso:

 http://www.postgresql.org/docs/9.3/static/pgarchivecleanup.html


​Matheus, aproveitando o gancho...

Digamos que o meu archive_command esteja setado para o diretório
/archives/, se eu utilizar o pg_archivecleanup nesse diretório​

​como ele saberá quais arquivos devem ser excluídos? O utilitário irá
apagar todos os arquivos anteriores ao último basebackup?

[]s
Danilo​
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Backup | Restore | PITR

2014-10-28 Por tôpico Matheus de Oliveira
2014-10-28 17:10 GMT-02:00 Danilo Silva danilo.dsg.go...@gmail.com:

 Agora me surgiu uma dúvida. Como controlo corretamente os arquivos que
 posso apagar do diretório pg_xlog após a conclusão do pg_stop_backup() ?


 Se o comando especificado no archive_command estiver funcionando, o
 Postgres mesmo irá eliminar os arquivos do pg_xlog.


Meu xará já explicou, mas só para ser mais enfático:

NUNCA! NUNCA! EM HIPÓTESE ALGUMA! JAMAIS PENSEM EM
REMOVER/EDITAR/RENOMEAR/WHATEVER QUALQUER ARQUIVO DENTRO DO DIRETÓRIO
pg_xlog

O pg_xlog é gerenciado pelo próprio PostgreSQL, você só pode
remover/editar/renomear/whatever os arquivos dentro do diretório onde está
salvando os logs arquivados (apontado pelo archive_command).





 ​Matheus, aproveitando o gancho...

 Digamos que o meu archive_command esteja setado para o diretório
 /archives/, se eu utilizar o pg_archivecleanup nesse diretório​

 ​como ele saberá quais arquivos devem ser excluídos? O utilitário irá
 apagar todos os arquivos anteriores ao último basebackup?


Não fará, o pg_archivecleanup espera que você passe para ele qual o
segmento que deve permanecer. Há algumas formas de saber, uma delas é
procurar pelo arquivo que tem o final .backup, o número dele indica o
primeiro arquivo necessário para restauração do basebackup de quando ele
foi executado (se quiser mais informações como a data/hora, veja o conteúdo
deste arquivo, ele é textual). A outra opção é pegar o retorno da chamada
do pg_start_backup (por exemplo: SELECT
pg_xlogfile_name(pg_start_backup('label', true)) ). Eu costumo salvar junto
com o backup base essa informação (e outras como a data/hora), daí eu
consigo saber exatamente qual manter.

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral