sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo define las funciones de postgres en Rails y cuál es su alcance y duración?

Una vez creada, una función en PostgreSQL se conserva permanentemente . Al igual que otros objetos, vive dentro de un esquema y solo se encuentra si este esquema está en search_path de su sesión actual.

En una base de datos de propósito general, crearía sus funciones en el valor predeterminado esquema public . En una configuración más sofisticada, puede tener un esquema dedicado para funciones o un esquema dedicado por usuario. La search_path se establecería en consecuencia.

Utilice CREATE OR REPLACE FUNCTION ... en lugar de simplemente CREATE FUNCTION ... para que pueda reemplazar el cuerpo de una función existente (sin cambiar los tipos IN o OUT). Más sobre esto en este reciente respuesta de @Pavel Stehule en dba.SE .

Tenga en cuenta los efectos ligeramente diferentes de los nombres de zona horaria y abreviaturas o compensaciones numéricas. Preguntas/respuestas relacionadas:
Los nombres de zonas horarias con propiedades idénticas arrojan resultados diferentes cuando se aplican a la marca de tiempo
PostgreSQL:cómo para representar la fecha en una zona horaria diferente?