Seus entendimentos do backup incremental/PITR parecem estar corretas, então vou focar nas dúvidas que restaram.
2014-07-09 10:31 GMT-03:00 Alessandro Lima <[email protected]>: > Mas a minha dúvida maior é na manutenção destes backups: > 1- a pasta que eu criei para copiar os logs WAL nunca diminui? mesmo > reciclando a pasta pg_xlog > O pg_xlog é controlado pelo próprio PostgreSQL, já o local onde você está salvando os segmentos de log devem ser controlados por você. Na verdade o PostgreSQL nem sabe da existência ou local desta, logo se quiser que ela "diminua", você mesmo deve apagar os arquivos que não considera mais necessário. > 2- a limpeza da pasta pg_xlog é feita excluindo os arquivos com extensão > .backup? > Não. Nunca, em hipótese alguma, nem em sonho, encoste em nenhum dos arquivos na pasta pg_xlog. Deixe o PostgreSQL controlá-los. Só garanta que o código de retorno do comando que colocaras no archive_command esteja funcionando corretamente e que o arquivamento está sendo feito. Uma causa comum de inchaço da pg_xlog é a falha do archive_command. > 3- o ideal é repetir o pg_basebackup de tempos em tempos? > Sim. Na verdade você poderia fazer um só e acumular os logs, mas isso faria com que o tempo de restauração só aumentasse, ficando impraticável. O ideal é mesmo um base backup de tempos em tempos. > neste caso devo excluir minha pasta com logs WAL antigos? > Quando você faz um base backup o PostgreSQL cria o arquivo .backup. É um arquivo texto, leia este arquivo e verás dois registros: "START WAL LOCATION" e "STOP WAL LOCATION". Estes registros indicam quais são os logs de transação que este backup precisa obrigatoriamente. Logo, para restaurá-lo você precisará ao menos ter os arquivos gerados entre o START e o STOP, os demais não são necessários, mas possivelmente você vai querer mais arquivos à frente do STOP, para fazer uma restauração de tudo possível ou ainda um PITR (Point In Time Recovery). Agora, quanto à apagar os logs de transação, vai depender de sua política de backup. Se, por exemplo, a cada backup base realizado você decidir apagar o backup base anterior, você poderá apagar todos logs de transação anteriores ao valor do START daquele que será mantido. A regra seria: "ao apagar backups base antigos, você pode apagar todos os logs de transação anteriores ao START do primeiro backup base que será mantido". O ponto do START também é o indicado no nome do arquivo .backup, seria "<START LOG filename>.<START LOG position>.backup", isso facilita (e.g. apague todos até o .backup e o que tem o mesmo número). Para apagar os arquivos antigos, você pode usar o pg_archivecleanup [1]. Ou outras ferramentas de backup, como o barman ou o pg_rman. [1] http://www.postgresql.org/docs/current/static/pgarchivecleanup.html -- Matheus de Oliveira Analista de Banco de Dados Dextra Sistemas - MPS.Br nível F! www.dextra.com.br/postgres
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
