Documentação do PostgreSQL 8.0.0 | ||||
---|---|---|---|---|
Anterior | Início | Capítulo 31. Estendendo a linguagem SQL | Fim | Próxima |
As funções internas são funções escritas na linguagem C que foram ligadas estaticamente ao servidor PostgreSQL. O "corpo" da definição da função especifica o nome da função na linguagem C, que não precisa ser o mesmo nome declarado para uso no SQL (Por razões de compatibilidade com as versões anteriores, um corpo vazio é aceito como significando que o nome da função na linguagem C é o mesmo nome na linguagem SQL).
Normalmente, todas as funções internas presentes no servidor são declaradas durante a inicialização do agrupamento de bancos de dados (initdb), mas o usuário pode utilizar o comando CREATE FUNCTION para criar nomes aliases adicionais para uma função interna. As funções internas são declaradas em CREATE FUNCTION com o nome de linguagem internal. Por exemplo, para criar um aliás para a função sqrt:
CREATE FUNCTION raiz_quadrada(double precision) RETURNS double precision AS 'dsqrt' LANGUAGE internal STRICT; SELECT raiz_quadrada(9.61); raiz_quadrada --------------- 3.1 (1 linha)
(A maioria das funções internas esperam ser declaradas como "strict")
Nota: Nem todas as funções "pré-definidas" são "internas" no sentido acima. Algumas funções pré-definidas são escritas em SQL.