36.9. Funções internas #

As funções internas são funções escritas em C, que foram vinculadas 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 igual ao nome declarado para uso no SQL. (Por motivo de compatibilidade com versões anteriores, um corpo vazio é aceito como significando que o nome da função na linguagem C é idêntico ao nome SQL.)

Normalmente, todas as funções internas presentes no servidor são declaradas durante a inicialização da instância (veja Criação de um agrupamento de bancos de dados), mas o usuário pode usar o comando CREATE FUNCTION para criar nomes alternativos adicionais para uma função interna. As funções internas são declaradas no comando CREATE FUNCTION com o nome de linguagem internal. Por exemplo, para criar um alias para a função dsqrt:

CREATE FUNCTION raiz_quadrada(double precision) RETURNS double precision
    AS 'dsqrt'
    LANGUAGE internal
    STRICT;

(A maioria das funções internas espera ser declarada como STRICT.)

Nota

Nem todas as funções predefinidas são internas no sentido acima. Algumas funções predefinidas são escritas em SQL.