Em 5 de agosto de 2010 16:43, Gurgel, Flavio <[email protected]>escreveu:
> > Estou escrevendo um script para BKP Online para a empresa e estou com > > algumas duvidas. > > Depois de ler o Manuel é claro. > > > Versão do Banco 8.4.1 > > > > > > PARTE - A > > ---- 22:00 de todo dia ---------------- > > > > 1 - Seta o Banco em *Estado de BKP*. ( Se não estiver errado, nessa > > hora não são escritos WAL correto ? eles ficam em Memória ?) > > Errado. > Os arquivos WAL são escritos o tempo todo, a qualquer momento, durante > backup ou não. > Quando você faz pg_start_backup o PostgreSQL cria um arquivo com a > informação de qual checkpoint está vigente no momento do início do backup e > qual segmento é necessário para iniciar uma restauração válida, com alguns > códigos de controle. Os segmentos anteriores a este arquivo podem ser > apagados pois não serão mais necessários. > > > 2.1 - É feito bkp dos WAL ( compacta, e *MOVE* para outro servidor > > XXX) 2.2 - Deleta os WAL, do servidor > > Você tem que fazer backup do $PGDATA, não "dos WAL". > A cópia dos logs de transação (WAL) é feita pelo parâmetro archive_command > que você faz no postgresql.conf. E essa cópia é feita o tempo todo, quem > comanda é o PostgreSQL após a finalização de cada segmento de 16MB. > > Se você quer manter os "archives" (cópias dos segmentos WAL, logs de > transação) no mesmo servidor (outro diretório, pelo archive_command) e fazer > cópias periódicas para um servidor remoto, lembre-se que em caso de falha > desse servidor você os perderá entre uma cópia e outra. > Todavia, copiar um diretório de archives não precisa informar nada ao > PostgreSQL e pode fazer a qualquer momento. > > Bem, já que sempre é gerado WAL. Realmente a forma que eu fiz não tem nada haver. Vou desconsiderar. :) > > 3 - É feito BKP do banco (compacta e *COPIA* para outro servidor XXX > > Vide acima. Isso realmente você tem que fazer no seu script. > > Aqui eu queria dizer isso, backup do $PGDATA > 4 - Remove o *Estado de BKP*. ( Volta a escrever os WAL) > > Ao fazer pg_stop_backup o PostgreSQL sai do modo de backup liberando a > parada limpa do banco no modo smart, tira o arquivo backup_status do $PGDATA > e ponto. O arquivamento não para em momento algum. > > Entendido > > ---------------------------------------------------- > > > > > > PARTE - B (Pra ficar mais leve, na parte A) > > ----- Meido DIA de todo dia --------- > > 1 - É feito bkp dos WAL ( compacta, e *move* para outro servidor XXX) > > Bom, se você vai fazer isso periodicamente, vá sem medo. Prefira um rsync e > não compacta->transfere->descompacta. > Observe que um gzip em horário de produção "come" uma CPU inteira a 100% e > pode por seu banco de dados de joelhos enquanto isso durar. > > Bem o banco é 24/7, por isso eu estava fazendo 2/Dia.(pra diminuir essa carga de CPU) O rsync funciona de que forma? sincroniza 2 diretórios? o conteudo da pasta no meu servidor e outra pasta no servidor de backup ? Perguntei de apressado, mas chegando em casa vou dar uma olhada nesse cara. :) > > > Alguém pode me responder, criticar , sugerir alguma melhora. > > A única pergunta: > Porque você não envia constantemente os logs de transação pra máquina > remota? Evita ter que fazer lotes de cópias. Use scp ou rsync e seja feliz. > O "Constantemente" seria, direcionar os WAL para o "servidor de backup" ? via parâmetro archive_command do postgresql.conf? Nesse caso eu nem teria os WAL no servidor(BANCO)? Minha preocupação aqui seria o trafego de rede, pois são gerados 20Gb Wal por dia, e geralmente picos de 2h em 2h. []s > > Flavio Henrique A. Gurgel > tel. 55-11-2125.4786 > cel. 55-11-8389.7635 > www.4linux.com.br > FREE SOFTWARE SOLUTIONS > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > Agradeço as respostas Flávio e JOTA. JOTA > Chegando em casa eu respondo você.(hora de ir pra casa) -- Att., Eduardo Amaral
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
