Blog do Seba

DBA, Consultor, Instrutor, [aprendiz de] Ninja e metido a Chef nas horas vagas!

Checklist mensal do PostgreSQL

Created in Feb 15, 2016

900 Words. Read in about 4 Min.
Categories: PostgreSQL
Tags: Database Checklist PostgreSQL Backup HA

Este post é uma humilde adaptação de um ótimo artigo sobre o SQL Server. Sim, você leu certo: Peguei umas idéias do checklist do SQL Server.

1. Atualize o SO do seu servidor

Eu sei. Você não faz isso. Acha que não precisa, que o problema não é seu, mas nos últimos anos tivemos tantos problemas de segurança recentes (HeartBleead, Shellshock, etc), que sabe-se lá o que pode nos assustar no futuro. Quer uma sugestão? Atualiza tudo, sempre [que possível].

2. Atualize seu servidor PostgreSQL

Por que? por que sim, oras. Precisa de mais motivos? Então pensa que BUGs e falhas de segurança são corrigidos o quanto antes.

Sua versão instalada não tem mais atualizações ou não é mais suportada? Para tudo e bora atualizar. Não só pela segurança, mas toda versão tem muita coisa bacana, aposto que os desenvolvedores implorariam pra você atualizar. Vai lá e mostra o release notes pros caras, depois vem e me agradece. :P

Não acredita? Abre aí então:

https://wiki.postgresql.org/wiki/What's_new_in_PostgreSQL_9.5

Pra te dar uma dica de como atualizar, sempre dê uma lida no release notes. Lá tem tudo o que nós, meros mortais (ou não devs), precisavamos saber pra atualizar o banco. Normalmente é bem simples (para o banco, atualiza os binários, sobe o banco), e caso seja mais elaborado, vai estar la no release notes, bem bonitinho.

Quer saber das versões novas e tem preguiça de ver o site toda hora? Então assine o feed RSS.

Ainda assim da muito trabalho? Então utilize os repositórios do PGDG, que tem pra varios sabores (APT e YUM por exemplo).

3. Valide suas rotinas de backup

Verifique todo seu processo de backup. Messa os tempos de execução, documente cada etapa do processo e tente deixar ele o mais simples possível. Pontos importantes a validar são: Tamanho ocupado, duração, falhas na execução e monitoramento do mesmo.

Já que estamos falando de backup, faça a lição de casa e avalie as soluções de backup mais populares:

Já que você faz backup do seu banco, não esqueça de fazer backup das suas configurações. Afinal, nunca se sabe quando vamos precisar fazer um Disaster Recovery. Falando nisso, é uma boa planejar uma solução de HA, não é mesmo?

Se você ainda usa o pg_dump como sua principal solução de backup, dá uma olhada nesse artigo bacana do @telles.

4. Teste, com vontade, a sua rotina de restore

Backup bom é o que restaura.

Eu nunca canso de dizer isso!

Já que seu backup está rodando certinho, faça um restore dos dados. Meça os tempos, documente o processo. Se tiver como fazer isso num servidor novo, melhor aínda! O importante é ficar tranquilo e ter tudo sob controle quando a casa cair e ele for realmente necessário.

5. Verifique o desempenho e a saude do seu banco

Deixe de sofrer. Há muitas soluções de monitoramento no mercado (zabbix, Nagios, etc). Coloque ele pra funcionar e monitorar detalhes uteis do SO e também do servidor PostgreSQL. Ajuste seu log para um formato de leitura mais eficiente (como o CSV, por exemplo) e gere reports do pgbadger ou uma solução mais elaborada.

Caso você use a versão 9.3 ou superior, você DEVE dar uma olhada no PoWA.

6. Revise seu tuning no SO e no postgresql.conf

Agora que você passou a monitorar o banco, aproveita o embalo e começa a dar uma revisada no tuning do sistema operacional, começando pelo /etc/sysctl.conf. Infelizmente, cada evento pode apontar um arquivo de configuração diferente. O jeito fácil é entender o que está rolando no servidor e ver se isso tu trata num dos 3 pilares: Hardware, Sistema Operacional e Banco de dados.

SO revisado? Então manda ver e da uma olhada configurações do postgresql.conf. Se você nunca fez isso, eu sugiro que dê uma olhada no PGConfig. Lá é um bom lugar pra começar.

Não esqueça do hardware. As vezes não tem jeito, precisamos de um upgrade. :D

7. Analise e ajuste o baseline

Chegou a conclusão que precisa de algum ajuste no tuning? O que mudou? Aumentou a quantidade de usuários? Nova feature baseado em boas praticas do mercado?

Será que é realmente necessário esse ajuste?

8. Valide o seu Capacity Plan

Se você tem um em ação, será que o mesmo está adequado? Se você fez algum ajuste sugerido acima, será que o mesmo não precisa de nenhum ajuste? Talvez seja o momento de mudar algumas projeções.

9. Sumarize e monte um plano

Avaliou tudo o que precisa mudar? Agora monte o seu proprio plano de ação, alinhe com a equipe e batalhe pelas janelas de manutenção.

Depois de tudo pronto e configurado, mande o seu próprio release notes pro pessoal do marketing e deixe eles fazerem propaganda da saude do seu banco! :P

Faltou algo?

Certamente algo importante pode ter ficado pra trás. Deixa um comentário pra gente ajustar assim que der. :D

[]’s

Comentários

comments powered by Disqus