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