DEV Community

Mayron Ceccon
Mayron Ceccon

Posted on

5

Postgresql com Backup Incremental — parte 1 — Configurando o registro de Logs (Wal)

Para realizar o backup incremental do Postgresql, utilizaremos o "Continuous Archiving", está técnica permite utilizar o PITR (Point-in-Time Recovery), onde assim é possível realizar a cópia do WAL (Write Ahead Log) do PostgreSQL e utilizar estes logs para atualização de uma base de dados.

Para este tutorial estou utilizando o SO Ubuntu 14.04.

Primeiramente devemos alterar o arquivo postgresql.conf, adicionando os comandos abaixo:

wal_level = hot_standby
archive_mode = on
archive_command = 'test ! -f /var/lib/postgresql/pg_log_archive/%f && cp %p /var/lib/postgresql/pg_log_archive/%f'
max_wal_senders = 2

Após as modificações acima, devemos criar a pasta onde os logs serão salvos e dar permissão ao postgres para acesso da pasta.

mkdir /var/lib/postgresql/pg_log_archive 
chown -R postgres.postgres /var/lib/postgresql/pg_log_archive
chmod 700 /var/lib/postgresql/pg_log_archive/

Agora criaremos um usuário com privilégio de replicação:

su - postgres
psql -c "CREATE ROLE user_replication REPLICATION LOGIN PASSWORD '123';"

Após a criação do usuário "user_replication" devemos alterar o pg_hba.conf, adicionando a regra abaixo, assim, habilitando e permitindo a conexão para a replicação.

host replication user_replication 127.0.0.1/32 trust

Após as configurações, devemos fazer o restart do Postgresql.

/etc/init.d/postgresql restart

Agora seu servidor já esta configurado com o Continuous Archiving.

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

Top comments (0)

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

👋 Kindness is contagious

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

Okay