DEV Community

Mayron Ceccon
Mayron Ceccon

Posted on

2 1

Postgresql com Backup Incremental — parte 3 — Fazendo a limpeza de logs (pg_archivecleanup)

Para a limpeza dos logs antigos usaremos o comando pg_archivecleanup.

O pg_archivecleanup foi projetado para ser utilizado no archive_cleanup_command, após o recovery de um banco secundário. Mas como não estamos trabalhando com replicação, utilizamos de outra forma este comando, para facilitar criei um arquivo bash, onde verifico o último arquivo ".backup" da pasta de logs, e faço a exclusão a partir dele.

Os arquivos .backup contém os dados referentes aos processos do pg_basebackup, informando quais são os logs anteriores a execução.

O arquivo bash ficou com as seguintes linhas de comando:

DIR_LOGS='/var/lib/postgresql/pg_log_archive'
LAST_LOG=$(cd ${DIR_LOGS} ; ls -rt *.backup | tail -1)
/usr/lib/postgresql/9.3/bin/pg_archivecleanup "${DIR_LOGS}" "${LAST_LOG}"

onde,

DIR_LOGS é o local onde os logs (Wal) estão sendo gravados, e o LAST_LOG é o último arquivo .backup salvo, após o processo de pg_basebackup.

Ao executar o pg_archivecleanup, somente os logs (Wal), posteriores ao último basebackup continuam na pasta, com isso evitamos o acumulo de logs.

Em um banco onde se tem muitas transações, sem o devido cuidado com a exclusão dos logs, podemos ficar sem espaço em disco em pouco tempo, por isso é de grande importância esta rotina.

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay