sql >> Databáze >  >> RDS >> PostgreSQL

Proces provádění funkcí Postgresql

Z bezpečnostních důvodů pg_dump (nebo pg_restore) vyšle příkaz, který vyprázdní vyhledávací_cestu, takže když obnovíte, proces se spustí s prázdnou vyhledávací cestou. Ale vůbec neupravuje textové tělo vaší funkce, ale vysílá jej tak, jak je, takže jej nemůže změnit tak, aby specifikoval plně kvalifikovaný název tabulky. Funkce tedy nemůže najít tabulku, když je spuštěna uvnitř procesu provádějícího obnovu.

Název tabulky můžete plně kvalifikovat ve funkci, nebo můžete funkci definovat pomocí SET search_path = public . Nebo můžete upravit soubor výpisu a odstranit část, která vymaže cestu search_path, pokud vás nezajímají bezpečnostní důsledky.




  1. Aktualizace schématu Symfony2 Doctrine se nezdařila

  2. proč tento dotaz mysql nefunguje?

  3. Hekaton se zvratem:TVP v paměti – část 1

  4. MySQL Pomalé připojení – ale ne vždy a ne na všech stolech