セキュリティ上の理由から、pg_dump(またはpg_restore)は、search_pathを空にするコマンドを発行するため、復元すると、プロセスは空の検索パスで実行されます。ただし、関数のテキスト本文は編集せず、そのまま出力するため、テーブルの完全修飾名を指定するように変更することはできません。そのため、復元を実行するプロセス内で実行すると、関数はテーブルを見つけることができません。
関数内のテーブル名を完全に修飾することも、SET search_path = public
を使用して関数を定義することもできます。 。または、セキュリティへの影響が気にならない場合は、ダンプファイルを編集して、search_pathをクリアする部分を削除することもできます。