sql >> Database >  >> RDS >> PostgreSQL

Uitvoeringsproces van Postgresql-functies

Om veiligheidsredenen zendt pg_dump (of pg_restore) een commando uit dat het zoekpad leegt, dus wanneer u het herstelt, wordt het proces uitgevoerd met een leeg zoekpad. Maar het bewerkt de tekst van uw functie helemaal niet, maar zendt het uit zoals het is, dus het kan het niet wijzigen om de volledig gekwalificeerde naam van de tabel op te geven. Dus de functie kan de tabel niet vinden wanneer deze wordt uitgevoerd in het proces dat het herstel uitvoert.

U kunt de tabelnaam volledig kwalificeren in de functie, of u kunt de functie definiëren met SET search_path = public . Of u kunt het dumpbestand bewerken om het gedeelte te verwijderen dat het zoekpad wist, als u zich geen zorgen maakt over de beveiligingsimplicaties.




  1. MySQL SUM json-waarden gegroepeerd op json-sleutels

  2. virtualenv, mysql-python, pip:weet iemand hoe?

  3. Patchbeleid

  4. Kan een MySQL-tabel niet laten vallen vanwege beperkingen met externe sleutels