On 2/20/20 11:28 AM, Albrecht Dreß wrote:
Am 20.02.20 19:32 schrieb(en) Tom Lane:
This is, actually, not very surprising.  You dropped the old function while clients were using it.  The new function is a completely unrelated object, even if it happens to have the same name.

Yes, I agree that this was not a too clever approach…

It does seem a bit annoying that something in plpgsql is apparently doing a fresh catalog lookup to find information that likely was already cached at the start of function execution.

OK, but after fully stopping the daemon via systemctl (which of course disconnects all clients) and re-starting it, the cache is empty, isn't it?  So the client after re-connecting /should/ find the proper function?  In my case the full restart did *not* help, but produced the same error again afterwards!  I didn't reboot the whole box, though.

It would be nice to know what:

[…]

represented in:

CREATE FUNCTION public.get_result2(mytaskid bigint, OUT data bytea, OUT metadata jsonb, OUT errortext text, OUT vanished boolean) RETURNS record
[…]
COMMIT;

The Postgres logs during and after restart might provide some info.

Also the errors thrown when accessing the other function.


This led me to the assumption that the database was “somehow” damaged.

Thanks,
Albrecht.


--
Adrian Klaver
adrian.kla...@aklaver.com


Reply via email to