sexta-feira, 7 de novembro de 2014

Utilizando bases como template do PostgreSQL.

Post do meu colega Paulo Diovani, que fiz questão de "roubartilhar" ou como diria o detetive: "Se o Pica-Pau tivesse comunicado a polícia, isso nunca teria acontecido!".

Segue a postagem:

Ao criar uma nova base de dados no PostgreSQL é possível utilizar uma base existente como modelo.
Isso serve, principalmente, para permitir inicializar rapidamente uma base de dados com as tabelas e valores necessários e é muito mais rápido do que realizar um pg_dump + pg_restore — na prática, o tempo depende apenas do acesso ao disco, como uma cópia dos diretórios da base.
Eu vinha pesquisando sobre uma forma de criar snapshots da base de dados, semelhando ao que o MS SQL Server faz, para poder restaurar uma base de desenvolvimento até determinado ponto. — O motivo é que precisava realizar um procedimento repetitivo, mas a necessidade seria a mesma para testes automatizados.
A solução foi restaurar a base que eu precisava e então utilizá-la como template para criar uma nova.
CREATE database foo_01 TEMPLATE foo_template;
Cada vez que eu preciso da base em estado inicial, basta eu removê-la e criar uma nova, novamente utilizando o template.
Esta é uma solução prática e rápida o bastante para procedimentos repetitivos. Se precisar de uma solução mais robusta para database snapshots uma alternativa é utilizar o PostgreSQL’s continuous WAL archiving.
Fonte: http://dba.stackexchange.com/questions/3394/is-it-possible-to-quickly-create-restore-database-snapshots-with-postgresql

Nenhum comentário:

Postar um comentário