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).