sql >> Database >  >> RDS >> PostgreSQL

Hoe definieer je postgres-functies in Rails en wat is hun reikwijdte en levensduur?

Eenmaal gemaakt, wordt een functie in PostgreSQL permanent behouden . Net als andere objecten leeft het in een schema en wordt het alleen gevonden als dit schema zich in de search_path van uw huidige sessie.

In een database voor algemene doeleinden zou u uw functies maken in de standaard schema public . In een meer geavanceerde configuratie heeft u mogelijk een specifiek schema voor functies of een specifiek schema per gebruiker. Het search_path zou dienovereenkomstig worden ingesteld.

Gebruik CREATE OR REPLACE FUNCTION ... in plaats van alleen CREATE FUNCTION ... zodat u de hoofdtekst van een bestaande functie kunt vervangen (zonder het IN- of OUT-type te wijzigen). Meer hierover in deze recente antwoord door @Pavel Stehule op dba.SE .

Let op de enigszins verschillende effecten van tijdzone namen en afkortingen of numerieke verschuivingen. Gerelateerde vragen / antwoorden:
Tijdzonenamen met identieke eigenschappen leveren verschillende resultaten op wanneer toegepast op tijdstempel
PostgreSQL - hoe om datum in een andere tijdzone weer te geven?




  1. MySQL-database beschadigd

  2. Gegevens in een MySQL-tabel overschrijven

  3. Gevaar van het gebruik van 'IF BESTAAT... UPDATE .. ELSE .. INSERT' en wat is het alternatief?

  4. LIKE vs BEVAT op SQL Server