"John Sidney-Woollett" <johnsw@wardbrook.com> writes:
> Please can someone explain why Postgres cannot recognize that objects
> (referenced by pl/pgsql functions) whose OID no longer exists could in
> fact be found (as new objects) if the function was reparsed and compiled
> again.
Criticism in the form of a patch would be useful.
> Whenever you delete an object, you locate any functions (or other objects)
> referencing that object's OID, and you mark them as invalid, and any
> subsequent objects that now refer to the newly invalidated object(s).
Yup, this is on the TODO list, and has been for awhile:
* Flush cached query plans when their underlying catalog data changes
> I don't know, but cannot believe that it would be hard to implement this,
Step right up ...
regards, tom lane