Ao criar a função defina a segurança : SECURITY INVOKER
ou SECURITY DEFINER SECURITY INVOKER indica que a função deve ser executada com os privilégios do usuário que a chamou e é o padrão. SECURITY DEFINER indica que a função deve ser executada com os privilégios de seu criador. Gaspar at inforep.com.br ----- Original Message ----- From: "Otacilio Neto" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Tuesday, April 25, 2006 9:12 AM Subject: Re: [PostgreSQL-Brasil] Direitos de execução de função --- Otacilio Neto <[EMAIL PROTECTED]> escreveu: > Olá pessoal > > Estou com o seguinte problema. Criei uma função, > mas gostaria que ela só fosse chamada de dentro de > triggers ou seja que nenhum usuário com exceção do > pgsql possa chama-la diretamente. Alguem sabe como > faze-lo? > > Obrigado > Testando aqui, o comando REVOKE ALL ON FUNCTION minha_funcao(text) FROM PUBLIC CASCADE; Faz com que apenas os usuários que possuem direitos de execução dados explicitamente possam executar a função. O problema eh que se eu crio uma outra função que utiliza a função que o usuário não possui direito de execução esta da um erro de execução. Eu queria poder criar funções "seguras" que todos os usuários possam executar e através delas chamar as funções "inseguras" o problema eh que as funções que o usuario não tem permissao de execução não podem ser executadas mesmo de dentro de funções que os usuários possuem permisão de execução. Alguém pode me ajudar a resolver este problema? Otacilio _______________________________________________________ Abra sua conta no Yahoo! Mail: 1GB de espaço, alertas de e-mail no celular e anti-spam realmente eficaz. http://br.info.mail.yahoo.com/ _______________________________________________ Grupo de Usuários do PostgreSQL no Brasil http://www.postgresql.org.br _______________________________________________ Grupo de Usuários do PostgreSQL no Brasil http://www.postgresql.org.br
