Какие типы функций бывают в PostgreSQL?

Функции PostgreSQL классифицируют по языку, результату и свойствам выполнения: SQL/PL/pgSQL, скалярные/наборные, IMMUTABLE/STABLE/VOLATILE. Агрегатные, оконные и триггерные функции имеют отдельные контракты.

Короткий ответ

Что ответить на собеседовании

Функции PostgreSQL классифицируют по языку, результату и свойствам выполнения: SQL/PL/pgSQL, скалярные/наборные, IMMUTABLE/STABLE/VOLATILE. Агрегатные, оконные и триггерные функции имеют отдельные контракты.

Подробный разбор

Ответ с пояснениями

Функции PostgreSQL классифицируют по языку, результату и свойствам выполнения: SQL/PL/pgSQL, скалярные/наборные, IMMUTABLE/STABLE/VOLATILE. Агрегатные, оконные и триггерные функции имеют отдельные контракты.

Скалярная функция возвращает одно значение, RETURNS SETOF или TABLE — набор строк. IMMUTABLE обещает одинаковый результат для одинаковых аргументов, STABLE допускает зависимость от состояния в рамках запроса, VOLATILE — изменения между вызовами; неправильная маркировка опасна для оптимизации. Также различают SECURITY INVOKER и DEFINER. Процедуры вызывают CALL и не следует смешивать с функциями, используемыми в SQL-выражениях.

Источник: www.postgresql.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее