pg_dump uses SET search_path in order to simplify schema references. Below is a snippet of a CREATE TABLE definition that references a function in the 'internal' schema:
... stock_balances integer[] DEFAULT stock_balances_snapshot() ...
This will restore OK, but it will not execute unless the caller also sets the search_path, which is certainly not a given or even to be expected.
I have also observed the following output, which suffers the same issue:
... role "internal".user_role NOT NULL DEFAULT 'guest'::user_role ...
Can pg_dump have an option to output fully qualified schema?
Best
Ian Campbell