Re: Autovacuum analyze can't find C based function - Mailing list pgsql-bugs

From Noah Misch
Subject Re: Autovacuum analyze can't find C based function
Date
Msg-id 20180827041317.GA1236401@rfd.leadboat.com
Whole thread Raw
In response to Re: Autovacuum analyze can't find C based function  (Thomas Butz <tbutz@optitool.de>)
List pgsql-bugs
On Thu, Jul 19, 2018 at 10:29:27AM +0200, Thomas Butz wrote:
> Tom Lane <tgl@sss.pgh.pa.us> writes:
> > In recent PG releases, autovacuum executes stuff under a restrictive
> > search_path setting (just pg_catalog, in fact).
> 
> This should probably be added to section 24.1. of the documentation. At least i couldn't find it elsewhere.

That wouldn't be unreasonable, but I think it's too much detail for the
documentation.  What I'd find more promising is to refine the HINT to react
when the function exists in a schema outside search_path.  Perhaps it would
then say "HINT:  No function matches the given name, but other schemas have
functions of that name.  You might need to schema-qualify the function name."
(I don't plan to implement that myself.)

> > or add a "SET search_path" clause to the function
> >definition.
> 
> Could you elaborate a bit more on this? It seems like this would only limit/change which objects should be accessed
> within the function as described by the CREATE FUNCTION documentation. The function itself wouldn't still be picked
> up by the autovacuum daemon or am i missing something?

Based on the error you posted, you would add the "SET search_path" clause to
function public.make_standard_name(text).  Autovacuum did find
public.make_standard_name(text), but it did not find the transliteration(text)
function called inside the body of public.make_standard_name(text).


pgsql-bugs by date:

Previous
From: jimmy
Date:
Subject: Re:Re: Re: Re: Bug: ERROR: invalid cache ID: 42 CONTEXT: parallelworker
Next
From: Amit Kapila
Date:
Subject: Re: Re: Re: Re: Bug: ERROR: invalid cache ID: 42 CONTEXT: parallel worker