Online Documentation for SQL Manager for PostgreSQL
Определение функции
Основные параметры функции задайте на вкладке Function редактора функций.
Name
Укажите название функции. Из раскрывающегося списка выберите название схемы, которой эта функция будет принадлежать.
Тип возвращаемого значения выберите в разделе Returns.
Single value - функция возвращает одно значение.
Set of values - функция возвращает набор значений.
Table - таблицу. Столбцы возвращаемой таблицы необходимо указать в поле Return table.
Nothing - функция возвращает void.
Trigger - триггер.
Из раскрывающегося списка Return Type необходимо выбрать тип возвращаемого значения.
В списке Arguments указываются аргументы функции.
Работать с ними позволяет контекстное меню, которое появляется при нажатии правой кнопкой мыши на список аргументов.
Add Argument - добавить аргумент в список.
Delete Argument - удалить аргумент.
Move Up - переместить на одну позицию вверх.
Move Down - переместить вниз на одну позицию.
Для аргумента в списке можно задать:
Name - имя.
Type - тип данных, выбрать из списка.
Mode - тип параметра (in - входной, out - выходной, in/out - входной и выходной).
Language
Выберите язык программирования, применяемый для выполнения функции.
Returns null on null input
Функция будет возвращать значение NULL, если хотя бы один входной параметр будет иметь значение NULL.
Execute with definer's privileges
Функция при выполнении будет обладать правами того пользователя, который ее создал. Если флаг не установлен — то правами пользователя, который ее вызывает.
Is window function
При включенной опции создается оконная функция. Она выполняет вычисления над списком строк в таблице, которые как-то относятся к текущей строке. В отличие от обычных агрегатных функций, использование оконной функции не заставляет строки группироваться в одну; строки сохраняют свои отдельные значения.
Is leakproof function
Установите флаг для создания "герметичной" функции.
Optimization
Выберите поведение функции:
IMMUTABLE (постоянная) показывает, что функция если заданы одни и те же аргументы, то функция будет возвращать одни и те же результаты.
STABLE (стабильная) показывает, что внутри транзакции функция будет возвращать одни и те же результаты при одних
VOLATILE (изменчивая) показывает, что значение функции может меняться при задании одних и тех же аргументов.
Parallel
Укажите, может ли функция выполнятся в параллельном режиме.
UNSAFE — функцию нельзя выполнять параллельном режиме.
RESTRICTED — функцию можно выполнять в параллельном режиме, но только в ведущем процессе группы.
SAFE — функция безопасна для выполнения в параллельном режиме без ограничений.
Planner options
Эти опции доступны только на сервере 8.3 и выше. Укажите необходимые числовые значения стоимости выполнения функции Estimated execution cost и примерное количество строк Estimated number of rows.
В редакторе Definition задается тело функции.
Все инструменты для работы с текстом, доступные в редакторе запросов, доступны и в редакторе функции.
Для удобства работы с текстом функции осуществляется syntax highlight - подсветка синтаксиса и code folding - возможность задать иерархическую структуру текста с возможностью скрывать подобъекты. С помощью макросов можно записать и воспроизвести некоторые действия.
Для выполнения функции необходимо нажать кнопку Execute на одной из панелей инструментов.