Um problema que foi detectado, era o que fazer com tantos arquivos gerados no ponto de montagem na partição nfs, remover a cada sete dias seria uma possível solução, mas não seria confiável, a dica sugerida aqui está no diretório contrib do próprio Postgres e que se chama pg_arquivecleanup, tomando por base os fontes do Postgres vamos instalar essa contrib
#cd /usr/local/postgres-9.0.2/contrib/pg_arquivecleanup #make pg_arquivecleanup #make install pg_arquivecleanup
Feito isso será criado uma arquivo binário chamado chamado pg_arquivecleanup no diretório de binários, default do Postgres em /usr/local/pgsql/bin
Depois adicionar no final do arquivo recovery.conf, este usado apenas nos slaves, a chamada do pg_archivecleanup, para isso, adicionando a seguinte linha: archive_cleanup_command = 'pg_archivecleanup /path/for/backups %r', conforme exemplo abaixo:
#echo archive_cleanup_command = 'pg_archivecleanup /mnt/postgres %r' >> /usr/local/pgsql/data/recovery.conf #cat /usr/local/pgsql/data/recovery.conf standby_mode = 'on' primary_conninfo = 'host=10.3.128.1 port=5432 user=postgres password=postgres' restore_command = 'cp /mnt/postgres/%f %p' trigger_file = '/tmp/trigger.pgsql.5432' archive_cleanup_command = 'pg_archivecleanup /mnt/postgres %r'
Após isso dá um restart no serviço do Postgres no(s) servidor(es) slave(s).
A contrib pg_archivecleanup remove os fragmentos da replicação de forma confiável, evitando que ocupe espaço desnecessário no servidor do banco.
Espero ter ajudado
O Peregrino.
Muito bom Emerson.
ResponderExcluirTa muito bom mesmo esse artigo..
Abraços!!
Emerson