--- Otacilio Neto <[EMAIL PROTECTED]>
escreveu:

> Caros 
>     
>     Estou tentando dasabilitar um trigger dentro de
> outro trigger. O PostgreSQL esta informando que o
> usuario current user deve ser o dono do objeto, no
> caso a tabela. Não tem como eu setar o trigger que
> deleta o outro para quando ele for utilizado ele ter
> um "suid" e se tornar o usuario pgsql para poder
> desabilitar o outro trigger?
> 
> Obrigado
> 


Oi pessoal!

Depois de ler o que o coutinho postou sobre perguntas
idiotas ou já feitas na lista fui procurar uma solução
para o meu problema. 
No google encontrei uma discussão de uns caras que
resolveram o problema de desabilitar o trigger setando
o campo tgenabled em pg_trigger para FALSE. Porém na
documentação do PostgreSQL em
http://www.postgresql.org/docs/8.0/interactive/catalog-pg-trigger.html
diz que este campo não é checado em todos os lugares
onde deve ser, logo não eh uma boa ideia utiliza-lo.
Para solucionar o problema utilizei o DROP TRIGGER   
e o CREATE TRIGGER na função que precisava desabilitar
e habilitar o trigger. Para isto criei a função como
SECURITY DEFINER e o negocio funcionou certinho. Acho
que o bom mesmo seria criar dois procedimentos simples
enable_trigger_a() e disable_trigger_a() com SECURITY
DEFINER para não deixar uma função que pode ser grande
e problematica com permissões do usuário pgsql.

T+


        



        
                
_______________________________________________________ 
Você quer respostas para suas perguntas? Ou você sabe muito e quer compartilhar 
seu conhecimento? Experimente o Yahoo! Respostas !
http://br.answers.yahoo.com/
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a