Пользовательские функции
Эта страница переведена при помощи нейросети GigaChat.
PostgreSQL предоставляет четыре типа функций:
- языковые функции запроса (функции, написанные на SQL) (раздел «Функции языка запросов (SQL)»);
- процедурные языковые функции (функции, написанные, например, на PL/pgSQL или PL/Tcl) (раздел «Процедурные языковые функции»);
- внутренние функции (раздел «Внутренние функции»);
- функции на языке C (раздел «Функции языка C»).
Любой вид функций может принимать базовые типы, составные типы или комбинации этих типов в качестве аргументов (параметров). Кроме того, любая функция может возвращать базовый тип или составной тип. Функции также могут быть определены для возврата наборов базовых значений или составных значений.
Многие виды функций могут принимать или возвращать определенные псевдотипы (например, полиморфные типы), но доступные возможности различаются. Обратитесь к описанию каждого типа функции для получения более подробной информации.
Проще всего определить функции SQL, поэтому начнем с обсуждения их. Большинство концепций, представленных для функций SQL, будут применимы и к другим типам функций.
На протяжении всей этой главы может быть полезно обратиться к справочной странице команды CREATE FUNCTION
, чтобы лучше понять примеры. Некоторые примеры из этой главы можно найти в funcs.sql
и funcs.c
в каталоге src/tutorial
в исходном дистрибутиве PostgreSQL.