Tenho uma tabela que quero impedir que SELECTs, INSERTs e UPDATEs sejam feitos diretamente. Minha intenção é que o usuário "public" só possa acessar essa tabela através de stored procedures. Para impedir o acesso à tabela é tranqüilo, basta usar REVOKE SELECT, INSERT, UPDATE ON TABLE ... No entanto, ao remover os privilégios de acesso do usuário "public", ao executar, por exemplo, a stored procedure que realiza um INSERT o postgres impedirá sua execução justamente porque o privilégio foi revogado. No SELECT eu consigo resolver usando uma VIEW com dados "mascarados", mas o INSERT e o UPDATE está sendo um problema para mim. Pior ainda, para fazer um UPDATE o usuário deve ter privilégio para SELECT (além de UPDATE)! Alguém tem uma dica para contornar esse problema? Obrigado pela ajuda.