Re: How to add function schema in search_path in option definitio - Mailing list pgsql-general

From Peter J. Holzer
Subject Re: How to add function schema in search_path in option definitio
Date
Msg-id 20230709110149.hdjv6vhukz2sz3c6@hjp.at
Whole thread Raw
In response to Re: How to add function schema in search_path in option definitio  (Lorusso Domenico <domenico.l76@gmail.com>)
Responses Re: How to add function schema in search_path in option definitio  (Lorusso Domenico <domenico.l76@gmail.com>)
List pgsql-general
On 2023-07-08 19:00:02 +0200, Lorusso Domenico wrote:
> I've created a schema to handle some specific features.
> In the schema there are a couple of tables used by many functions (more than
> 20).
> In other words, I've created a schema as a package (as suggested in many
> points).

So this is one specific schema with a specific name and you don't need
this to work in any schema the function happens to be created in?

Then I think setting the search path as part of the function definition
(as already hinted at by Adrian) may be the easiest solution:

create function my_schema.foo (...)
    returns ...
    set search_path to my_schema, public
    as $$
        ...
    $$;

You could also do something like:

set search_path to my_schema, public;
create function foo (...)
    returns ...
    set search_path from current
    as $$
        ...
    $$;

        hp

--
   _  | Peter J. Holzer    | Story must make more sense than reality.
|_|_) |                    |
| |   | hjp@hjp.at         |    -- Charles Stross, "Creative writing
__/   | http://www.hjp.at/ |       challenge!"

Attachment

pgsql-general by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: [Beginner Question]What's the use of ResTarget?
Next
From: jian he
Date:
Subject: now() literal in pg_input_is_valid