Документация по PostgreSQL 9.4.1 | |||
---|---|---|---|
Пред. | Уровень выше | Глава 35. Расширение SQL | След. |
35.8. Внутренние функции
Внутренние функции — это функции, написанные на языке C, и статистически скомпонованные в исполняемый код сервера PostgreSQL. В "теле" определения функции задаётся имя функции на уровне C, которое не обязательно должно совпадать с именем, объявленным для использования в SQL. (Обратной совместимости ради, тело функции может быть пустым, что будет означать, что имя функции на уровне C совпадает с именем в SQL.)
Обычно все внутренние функции, представленные на сервере, объявляются в ходе инициализации кластера баз данных (см. Раздел 17.2), но пользователь может воспользоваться командой CREATE FUNCTION и добавить дополнительные псевдонимы для внутренней функции. Внутренние функции объявляются в CREATE FUNCTION с именем языка internal. Например, так можно создать псевдоним для функции sqrt
:
CREATE FUNCTION square_root(double precision) RETURNS double precision AS 'dsqrt' LANGUAGE internal STRICT;
(Большинство внутренних функций должны объявляться как "strict".)
Замечание: Не все "предопределённые" функции являются "внутренними" в вышеописанном смысле. Некоторые предопределённые функции написаны на SQL.
Пред. | Начало | След. |
Функции на процедурных языках | Уровень выше | Функции на языке C |