Eu utilizo tabela(s) temporária(s).
Como é restrita para a conexão corrente, após conectar eu atualizo com as
informações que preciso.
Nas triggers leio esta tabela e gravo nas tabelas auditadas.


Em 25 de julho de 2014 13:26, Fabrízio de Royes Mello <
[email protected]> escreveu:

> On 25-07-2014 12:18, Flavio Henrique Araque Gurgel wrote:
> >>  >>Pretendo fazer essa operação através de trigger
> >> Utilizo o Audit trigger 91Plus [1]
> >>
> >>  >>O problema é capturar o responsável pela alteração, porque quem faz a
> >> conexão no banco é um usuário único, definido na aplicação
> >> Tive o mesmo problema, como uso jdbc resolvi passando o id do usuário
> >> logado como comentário no final da query:
> >> UPDATE tabela SET campo = true WHERE id = 1 --ul:5
> >> onde ul:5 significa usuáio logado de id 5
> >> alterei a a trigger original do audit trigger para capturar em vez do
> >> usuário do postgres, capturar o id que vem após a string '--ul:'
> >>
> >> [1] https://wiki.postgresql.org/wiki/Audit_trigger_91plus
> >>
> >> Atenciosamente,
> >>
> >> Alessandro Lima
> >
> > Cara, bela ideia essa sua! É um problema recorrente.
> > Você poderia até incluí-la nessa página Wiki como um item adicional.
> >
>
> Outra alternativa para esse problema é utilizar variáveis de sessão
> (custom options). Ex:
>
> fabrizio=# SELECT current_setting('classe.variavel');
> ERROR:  unrecognized configuration parameter "classe.variavel"
> fabrizio=# SELECT set_config('classe.variavel', 'valor', false);
>  set_config
> ------------
>  valor
> (1 row)
>
> fabrizio=# SELECT current_setting('classe.variavel');
>  current_setting
> -----------------
>  valor
> (1 row)
>
>
> Há algum tempo escrevi um extensão [1] pra manipular essas variáveis de
> sessão.
>
> Essa necessidade surgiu no passado pelo mesmo motivo, e na época a
> aplicação era PHP, então pegamos todo conteúdo da sessao ($_SESSION) e
> gravamos na sessão do PostgreSQL após o pg_connect. Com isso temos as
> mesmas variáveis da aplicação no banco também. Ajudou bastante ;-)
>
> Att,
>
> [1] http://pgxn.org/dist/session_variables/0.0.4/
>
> --
>    Fabrízio de Royes Mello         Timbira - http://www.timbira.com.br/
>    PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Renato Becker
Desenvolvimento de Software
DBA PostgreSQL

http://about.me/renatobecker
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a