Srs. Alguns dias atrás eu iniciei fazendo uma trigger para as tabelas interessadas, onde esta trigger somente era executada no update, ou seja, na alteração do registro. Havendo new e old diferentes, eu enviava os dados para outra tabela onde possuia 6 campos: CodigoMovimento | TabelaAlterada| DataAlteracao | CampoAlterado | ValorNovoMovimento | ValorVelhoMovimento.
O campo "CodigoMovimento" é igual o id do registro, para que possamos mostrar na própria tela o que foi alterado naquele cadastro e o resto dos campos, os nomes deles já dizem tudo. A idéia no momento foi abortada, pois possuimos grandes banco e com muitas alterações devido a troca de informação entre eles. Em alguns clientes a cópia já leva um bom tempo, pois, não é somente a cópia que é feita e sim o vaccuum... O próximo passo é pensar em largar estas informações em um banco separado sem requintes de crueldade. Marcos André G.A Trabin Softwarre & Consulting Em 9 de março de 2010 18:40, Alipio Dantas <[email protected]>escreveu: > Srs. > > Primeiramente obrigado pelas sugestões. > > Realmente foi bem simples. Criei uma tabela de histórico e fiz uma trigger > para armazenar o valor atual antes de ser atualizado. > Vou pesquisar sobre a tabela de auditoria do postgres. > > Mais uma vez obrigado a todos. > > Em 9 de março de 2010 18:25, Pablo Sánchez <[email protected]> escreveu: > > Há várias formas de fazer. Eu pessoalmente criar uma tabela extra, com >> os dados mutáveis, vinculada 1-n com a original, guardando assim >> versões das informações. Ou seja, mantenha a tabela original tal qual, >> crie uma outra onde vc faz o insert dos novos dados, com timestamp da >> atualização. Isso permitiria até uma visualização do histórico de >> alterações, se for necessário. >> >> Aí, vc pode fazer uma trigger on update para fazer o insert nessa >> outra tabela. Dessa forma, fica transparente para qualquer aplicação >> que já tenha sido criada (nenhuma alteração estrutural importante no >> banco), e você ainda mantém a tabela original limpa, ou seja, apenas >> com o dado atualizado. >> >> Em 9 de março de 2010 17:22, Alipio Dantas <[email protected]> >> escreveu: >> > Srs. >> > >> > Preciso manter um histórico de atualizações em determinadas tabelas do >> > banco, ou seja quando um registro for alterado, ser mantido também o >> valor >> > anterior. >> > >> > Pensei em replicar os dados em uma mesma tabela, o que não é legal, a >> tabela >> > ficaria com um volume de informações que não é acessado com frequencia. >> > >> > Pensei em "clonar a view" dentro do banco e inserir nas tabelas >> referentes >> > as linhas atualizadas com a data de atualização. Pra isso o ideal seria >> uma >> > triger que fizesse este procedimento quando um dado for alterado. O >> problema >> > é que não sei por onde começar. >> > >> > >> > >> > Alguém poderia me indicar um caminho? >> > >> > Obrigado. >> > >> > >> > >> > -- >> > Alípio Dantas da Silva >> > Secretaria de Desenvolvimento Urbano do Estado da Bahia >> > Coordenação de Informações Geográficas Urbanas - CGI >> > >> > >> > _______________________________________________ >> > pgbr-geral mailing list >> > [email protected] >> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> > >> > >> >> >> >> -- >> ================================= >> Pablo Santiago Sánchez >> Análise e Desenvolvimento de Sistemas Web >> Zend Certified Engineer #ZEND006757 >> [email protected] >> (61) 9975-0883 >> http://www.sansis.com.br >> http://www.corephp.com.br >> "Quidquid latine dictum sit, altum viditur" >> ================================= >> _______________________________________________ >> pgbr-geral mailing list >> [email protected] >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> > > > > -- > Alípio Dantas da Silva > Secretaria de Desenvolvimento Urbano do Estado da Bahia > Coordenação de Informações Geográficas Urbanas - CGI > DBA - Geo > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
