Bem...
Raramente o usuário trabalha diretamente com o banco de dados, utilizando instruções sql para tratar as situações.
Normalmente é o aplicativo "ponte" que faz isso.
E esse aplicativo é que deve, eventualmente, disparar email ou qualquer outro aviso para o usuário ou administrador. De se ressaltar que, "comportamento anormal" normalmente é verificado através de "log de atividade", mas isso é outra coisa. Por outro lado, as ações básicas para o banco de dados são inserção, alteração, exclusão e consulta. No meu caso, a consulta não é relevante, então não fiz o tratamento da mesma, mas sei que é possível.
Quanto as demais ações, fiz o seguinte:
Criei uma função trigger que dispara uma notificação (notify) com o nome da tabela quando a mesma é alterada, ou seja, há uma inserção, alteração ou exclusão de registro.
Essa notificação somente é disparada se tiver algum usuário ouvindo.
Assim, quando o meu aplicativo obtém os dados da tabela, ele também dispara uma audição (listen) com o nome da mesma.
De tempos em tempos, verifico se há alguma notificação com o nome da tabela.
Se ela existe é porque a tabela foi alterada, ainda que para conter os mesmíssimos dados. Daí aviso o usuário que os dados visualizados podem estar desatualizados, solicitando um 'refresh' dos mesmos.
No final da utilização disparo um "unlisten" e pronto.
Mas dependendo do aplicativo, dá pra fazer muiiiiiiiiiiiiiito mais.
Como dizia o "Ramalho", esse mesmo, do Clipper, é sempre bom programar defensivamente. Verifique o comportamento anormal previsível e impeça-o ou elimine-o antes que aconteça.
E as situações são muitas...
Se não quer que o usuário x faça alterações na tabela y, não dê autorização ao mesmo para fazê-lo, seja através do próprio postgresql ou o seu aplicativo. Se não quer que o usuário x tenha acesso ou visualize informações da tabela y, não dê autorização ao mesmo para fazê-lo, seja através do próprio postgresql ou o seu aplicativo.
Pronto...

MarceloG

Em 18/05/2010 12:35, Eduardo Amaral escreveu:
Opa, esse ai eu quero saber tambem

Em 18 de maio de 2010 09:00, Pedro Espíndola <[email protected] <mailto:[email protected]>> escreveu:

    Bom dia,

    existe algum serviço no postgresql q monitora o banco e qq
    comportamento anormal ele dispara email alertando ? Se sim, qual seria
    ?

    Abs
    Pedro
    _______________________________________________
    pgbr-geral mailing list
    [email protected]
    <mailto:[email protected]>
    https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




--
Att.,

Eduardo Amaral


_______________________________________________
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