Re: Autovacuum analyze can't find C based function
От | Noah Misch |
---|---|
Тема | Re: Autovacuum analyze can't find C based function |
Дата | |
Msg-id | 20180827041317.GA1236401@rfd.leadboat.com обсуждение исходный текст |
Ответ на | Re: Autovacuum analyze can't find C based function (Thomas Butz <tbutz@optitool.de>) |
Список | 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 по дате отправления: