36.9. Funciones internas #

Las funciones internas son funciones escritas en C que se han enlazado estáticamente dentro del servidor de PostgreSQL. El cuerpo de la definición de la función especifica el nombre de la función en el lenguaje C, el cual no necesita ser el mismo que el nombre que se está declarando para su uso en SQL. (Por razones de compatibilidad hacia atrás, se acepta un cuerpo vacío para indicar que el nombre de la función en el lenguaje C es el mismo que el nombre SQL).

Normalmente, todas las funciones internas presentes en el servidor se declaran durante la inicialización del clúster de la base de datos (consulta la Section 18.2), pero un usuario podría utilizar CREATE FUNCTION para crear alias adicionales para una función interna. Las funciones internas se declaran en CREATE FUNCTION con el nombre de lenguaje internal. Por ejemplo, para crear un alias para la función sqrt:

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

(La mayoría de las funciones internas esperan ser declaradas como strict).

Note

No todas las funciones predefinidas son internas en el sentido mencionado arriba. Algunas funciones predefinidas están escritas en SQL.