Pavel Stehule <pavel.steh...@gmail.com> writes: > In interactive mode, the build_row_from_class has unrefreshed metadata. But > why this behave I see only in psql and not in my regress tests?
The short answer is that no plpgsql version before commit 4b93f5799 will have nice behavior for cases where you change a referenced composite type between calls. Why that's translating to the particular behavior you're seeing isn't clear, considering you showed only one case in detail; but I imagine it's because a parse of the plpgsql function happens before the ALTER TABLE in one case and not the other. Perhaps you have different settings of check_function_bodies, for instance. regards, tom lane