On Sun, Nov 08, 2009 at 05:07:16PM -0300, Mariano Mara wrote:
> I have this plpython function that I need to execute with a non
> superuser. I logged in the postgres account, create it and grant execute
> rights to the target user.
> However I cannot execute it with this user: I'm getting a "function ...
> does not exist" error and after poking it for a few hours without luck,
It looks like you're creating it in a different database (and/or schema)
from the one you're trying to access it from. Functions are associated
with exactly one schema and this schema will exist in exactly one
database. Your search_path specifies the schema(s) to look in for
tables/functions, you can change it by doing:
SET search_path = myschema;
You need to be connected to the right database for this to work; "psql
-l" gives you a list. The command "\df" lists all (user defined)
functions that you can currently see.
Hope that helps point you in the right direction!
--
Sam http://samason.me.uk/