Av säkerhetsskäl sänder pg_dump (eller pg_restore) ett kommando som tömmer sökvägen, så när du återställer körs processen med en tom sökväg. Men den redigerar inte texten i din funktion alls utan skickar den ut som den är, så den kan inte ändra den för att specificera tabellens fullständiga namn. Så funktionen kan inte hitta tabellen när den körs i processen som gör återställningen.
Du kan helt kvalificera tabellnamnet i funktionen, eller så kan du definiera funktionen med SET search_path = public
. Eller så kan du redigera dumpfilen för att ta bort den del som rensar sökvägen, om du inte är orolig för säkerhetskonsekvenserna.