Re: Error“cache lookup failed for function”
От
Albrecht Dreß
Тема
Re: Error“cache lookup failed for function”
Дата
Msg-id
MN4OYCMQ.XXELI6K7.E4WADOLN@4O7HHCIT.OJBEPQKC.KRKBENH4
Ответ на
Re: Error “cache lookup failed for function” (Adrian Klaver)
Список
Дерево обсуждения
Error “cache lookup failed for function” Albrecht Dreß <albrecht.dress@arcor.de>
Re: Error “cache lookup failed for function” Tom Lane <tgl@sss.pgh.pa.us>
Re: Error “cache lookup failed for function” Tom Lane <tgl@sss.pgh.pa.us>
Re: Error “cache lookup failed for function” Michael Lewis <mlewis@entrata.com>
Re: Error“cache lookup failed for function” Albrecht Dreß <albrecht.dress@arcor.de>
Re: Error “cache lookup failed for function” Tom Lane <tgl@sss.pgh.pa.us>
Re: Error “cache lookup failed for function” Adrian Klaver <adrian.klaver@aklaver.com>
Re: Error“cache lookup failed for function” Albrecht Dreß <albrecht.dress@arcor.de>
Re: Error “cache lookup failed for function” Adrian Klaver <adrian.klaver@aklaver.com>
Re: Error“cache lookup failed for function” Albrecht Dreß <albrecht.dress@arcor.de>
Re: Error “cache lookup failed for function” Adrian Klaver <adrian.klaver@aklaver.com>
Sorry for the late reply, I've been on a short vacation…
Am 21.02.20 21:44 schrieb(en) Adrian Klaver:
> 1) From your original post what does the below mean?:
>
> -- add several db functions
One trigger function, plus two “normal” ones, all (yet) unused.
> -- replace a DB function:
This was the
---8<--------------------------------------------------------------------
DROP FUNCTION public.get_result2[…]
CREATE FUNCTION public.get_result2[…]
---8<--------------------------------------------------------------------
sequence triggering the error.
> 2) What do you see when you do?:
>
> select * from pg_proc where oid = 1821571;
Unfortunately, when I saw that restarting the cluster didn't solve the issue, I re-installed it from a dump (which appears to be intact, btw), but /without/ taking a copy of the original data folder. Thus, this information is lost, sorry.
> 3) What is the definition for retrieve_single_result()?
Ancient implementation, somewhat similar to get_result2(), but with less security and different error checking approach:
---8<--------------------------------------------------------------------
CREATE FUNCTION public.retrieve_single_result(mytaskid bigint, OUT data bytea, OUT metadata jsonb) RETURNS record
LANGUAGE plpgsql STABLE SECURITY DEFINER
AS $$
DECLARE
errortext text;
BEGIN
SELECT results.data, results.metadata, results.errortext FROM results LEFT JOIN tasks ON tasks.resultid = results.resultid WHERE taskid = mytaskid LIMIT 1 INTO data, metadata, errortext;
IF errortext IS NOT NULL THEN
RAISE EXCEPTION 'error result "%"', errortext;
END IF;
END;
$$;
---8<--------------------------------------------------------------------
> 4) What does the below show?:
>
> select proname, prosrc from pg_proc where proname in ('retrieve_single_result', 'get_result2');
Same problem as with #2, sorry…
Thanks,
Albrecht.В списке pgsql-general по дате отправления