PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como você define funções postgres no Rails e qual é seu escopo e tempo de vida?


Uma vez criada, uma função no PostgreSQL é persistida permanentemente . Como outros objetos, ele vive dentro de um esquema e só é encontrado se esse esquema estiver no search_path da sua sessão atual.

Em um banco de dados de uso geral, você criaria suas funções no padrão esquema public . Em uma configuração mais sofisticada, você pode ter um esquema dedicado para funções ou um esquema dedicado por usuário. O search_path seria definido em conformidade.

Use CREATE OR REPLACE FUNCTION ... em vez de apenas CREATE FUNCTION ... para que você possa substituir o corpo de uma função existente (sem alterar os tipos IN ou OUT). Mais sobre isso neste recente resposta de @Pavel Stehule em dba.SE .

Esteja ciente dos efeitos ligeiramente diferentes dos nomes de fuso horário e abreviaturas ou deslocamentos numéricos. Perguntas/respostas relacionadas:
Nomes de fuso horário com propriedades idênticas geram resultados diferentes quando aplicados ao timestamp
PostgreSQL - como para renderizar a data em um fuso horário diferente?