Galera, gostaria de saber se o postgres tem algum tipo de controle interno de todas as transações que ocorrem nele.
Pois está sendo necessário um campo data em uma determinada tabela que não era necessária na época, porém o cliente gostaria de fazer pesquisas anteriores, por exemplo, criar o campo “data do cadastro” hoje e pesquisar todos cadastrados no ano de 2008. Por isso gostaria de saber se o postgres mantém essa informação internamente?
Seria como o oracle?! Que armazena uma tabela do sistema com todas as transações feitas…
interessante o link do alberton, mas o autor está considerando começar a auditoria daquele momento.
Eu gostaria de algo, quase um milagre… hehe… que fizesse esse tipo de função mas com arquivos que foram criados a 1 anos atrás sem o campo data.
Bem, já estou me conformando que não tem como… mas vou fazer mais algumas pesquisas…
abraço,
T
thingol
alcemir:
interessante o link do alberton, mas o autor está considerando começar a auditoria daquele momento.
Eu gostaria de algo, quase um milagre… hehe… que fizesse esse tipo de função mas com arquivos que foram criados a 1 anos atrás sem o campo data.
Bem, já estou me conformando que não tem como… mas vou fazer mais algumas pesquisas…
abraço,
Normalmente (não sei se é o caso do PostgreSQL), as modificações efetuadas em bancos de dados são normalmente registradas no arquivo de log de transações, e normalmente esse arquivo cresce linearmente.
Quando se efetua um shutdown no banco, ou um backup, as transações são efetivadas, e o log costuma ser limpo.
Ou seja: a menos que o log nunca tenha sido limpo (o que é improvável em um banco que está em produção, já que você deve efetuar backups periódicos), não é possível obter as modificações efetuadas.
De qualquer maneira, essa lista de modificações efetuadas (log de transações) não costuma conter timestamps (ou seja, registros de data e hora), apenas o mínimo de dados que é necessário para poder efetuar o “replay” da transação em caso de alguma falha; portanto o que você precisa não deve existir nos dados que você tem. Pode esquecer.
(E a propósito, o tal recurso que você disse que Oracle tem só existe se você ativar a auditoria, conforme você pode ver na documentação. )
alcemir
pois é… hehe…
o backup é feito diariamente, então ja era o log… único jeito agora é sentar com cliente e fazer uma estimativa…
de qualquer forma agradeço o forum, pessoal responde na mesma hora…