Hi I have quite a complex database system and I want to expose a public interface to it without exposing my (and my company's) months of work. Is there a way to grant usage on a schema so that they can execute functions without allowing that user to view the structure of the database and the definitions of all the functions. Or is the only way to put wrapper functions in the public schema that are defined 'SECURITY DEFINER' so that they can execute functions in the api schema, that the public user does not have access to? I wouldn't mind them viewing the wrapper functions. -- Ian Freislich