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

Responder a