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

Hvordan definerer du postgres-funktioner i Rails, og hvad er deres omfang og levetid?

Når en funktion i PostgreSQL er oprettet, bevares den permanent . Ligesom andre objekter lever det inde i et skema og findes kun, hvis dette skema er i search_path af din nuværende session.

I en database til generelle formål vil du oprette dine funktioner i standard skema public . I en mere sofistikeret opsætning kan du have et dedikeret skema til funktioner eller et dedikeret skema pr. bruger. search_path ville blive indstillet i overensstemmelse hermed.

Brug CREATE OR REPLACE FUNCTION ... i stedet for bare CREATE FUNCTION ... så du kan erstatte kroppen af ​​en eksisterende funktion (uden at ændre IN- eller OUT-typer). Mere om dette i denne nylige svar af @Pavel Stehule på dba.SE .

Vær opmærksom på de lidt forskellige effekter af tidszone-navne og forkortelser eller numeriske forskydninger. Relaterede spørgsmål/svar:
Tidszonenavne med identiske egenskaber giver forskellige resultater, når de anvendes på tidsstempel
PostgreSQL – hvordan for at gengive dato i en anden tidszone?




  1. SQL server 2005 numerisk præcisionstab

  2. Få seneste 30 dages registreringer fra dags dato i SQL Server

  3. Unikt tekstfelt i MySQL og php

  4. Filtrer django-forespørgsel efter unicode-tegn 🐲 eller 💎 osv