Перейти к основному содержимому

Внутренние функции

примечание

Эта страница переведена при помощи нейросети GigaChat.

Внутренние функции – это функции, написанные на языке Cи, которые статически связаны с сервером PostgreSQL. В разделе «тело» определения функции указывается имя функции на языке Cи, которое не обязательно должно совпадать с именем, объявленным для использования в SQL (по причинам совместимости с предыдущими версиями принимается пустое тело, что означает, что имя функции на языке Cи совпадает с именем SQL).

Обычно все внутренние функции, присутствующие на сервере, объявляются во время инициализации кластера баз данных (см. раздел «Создание кластера баз данных»), но пользователь может использовать CREATE FUNCTION для создания дополнительных псевдонимов для внутренней функции. Внутренние функции объявлены в CREATE FUNCTION с именем языка internal. Например, чтобы создать псевдоним для функции sqrt:

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

(Большинство внутренних функций должны объявляться как «strict».)

Примечание

Не все «предопределенные» функции являются «внутренними» в вышеуказанном смысле. Некоторые предопределенные функции написаны на языке SQL.