sql >> Databasteknik >  >> RDS >> PostgreSQL

Exekveringsprocess för Postgresql-funktioner

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.




  1. Det går inte att öppna säkerhetskopieringsenheten. Operativsystemfel 5

  2. ruby postgreSQL på AMD64

  3. Hur visar man WORK_MEM för externa PostgreSQL-anslutningar?

  4. Returnera en lista över tidszoner som stöds av PostgreSQL