PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come definisci le funzioni postgres in Rails e qual è il loro scopo e durata?

Una volta creata, una funzione in PostgreSQL viene mantenuta permanentemente . Come altri oggetti, vive all'interno di uno schema e viene trovato solo se questo schema si trova in search_path della tua sessione corrente.

In un database generico, creeresti le tue funzioni nel predefinito schema public . In una configurazione più sofisticata, potresti avere uno schema dedicato per le funzioni o uno schema dedicato per utente. Il search_path verrebbe impostato di conseguenza.

Usa CREATE OR REPLACE FUNCTION ... anziché solo CREATE FUNCTION ... in modo da poter sostituire il corpo di una funzione esistente (senza modificare i tipi IN o OUT). Maggiori informazioni su questo in questo recente risposta di @Pavel Stehule su dba.SE .

Tieni presente gli effetti leggermente diversi dei nomi del fuso orario e abbreviazioni o offset numerici. Domande/risposte correlate:
I nomi dei fusi orari con proprietà identiche producono risultati diversi se applicati al timestamp
PostgreSQL:come visualizzare la data in un fuso orario diverso?