Adrian Klaver <aklaver@comcast.net> writes:
> Sorry should have been more explicit. The dump loaded functions depending on
> plsh before the function that created the language. In fact it did not
> instalI the language at all.
Ah. Looking back at your first message, I see you'd installed plsh into
the pg_catalog schema rather than a user schema. pg_dump specifically
doesn't dump anything that appears in pg_catalog; it assumes all of that
stuff is supplied by the system. So the above is expected behavior.
I haven't looked at plsh, but if it installs stuff directly into
pg_catalog, I'd call that a mistake. At least it shouldn't be the
default behavior.
(Note for pedantry's sake: a language doesn't really belong to any
particular schema; but its support functions do, and pg_dump treats
the language as belonging to the same schema as the support functions.)
regards, tom lane