> Boa tarde pessoal, tive recentemente uma tabela com seus registros deletados
> por causa de uma chave estrangeira com Cascade delete.
> Como faço para ver em que horas isso ocorreu? Detalhe - não tem log
> registrando nada, a base está sendo migrada e foi solicitado para desativar
> temporariamente.
> Gostaria de recuperar esses dados, é possível sem o backup? Ainda não
> ocorreu o processo de vacuum.

É possível mas muito, muito difícil você ter dados consistentes após
um trabalho desses. É manual e bastante trabalhoso.
Faça um backup físico (os dados em disco) do PostgreSQL parado antes de tentar.

Você precisa conhecer um pouco do funcionamento interno do PostgreSQL.
Sugiro assistir a apresentação em [1] para ver quais consultas você
pode executar e "enxergar" dados já removidos antes que um vacuum
trabalhe sobre a tabela. Talvez você precise estudar mais como
funcionam as coisas em [2]. Se tiver pressa, precisará de ajuda
profissional.

[1] http://pgbr.postgresql.org.br/2011/palestras.php?id=63
[2] http://www.postgresql.org/docs/current/static/mvcc.html

P.S.: não há nenhuma garantia de que você vai conseguir. Para evitar
cenários como o seu, previna-se e veja em [3] como fazer um backup que
te permite sair de uma sinuca de bico dessas:

[3] http://www.postgresql.org/docs/current/static/continuous-archiving.html

[]s
Flavio Gurgel
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a