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?