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

Процедурные языки

примечание

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

PostgreSQL позволяет пользователям создавать функции на других языках помимо SQL и C. Эти другие языки называются процедурными языками (PL). Для функций, написанных на процедурном языке, сервер базы данных не имеет встроенных знаний о том, как интерпретировать исходный текст функции. Вместо этого задача передается специальному обработчику, который знает детали языка. Обработчик может либо выполнять всю работу по разбору, синтаксическому анализу, выполнению и т.д., либо служить в качестве «клея» между PostgreSQL и существующей реализацией языка программирования. Сам обработчик является функцией на языке C, скомпилированной в общий объект и загружаемой по требованию, так же как любая другая функция на C.

В настоящее время в стандартной поставке PostgreSQL доступно четыре процедурных языка:

Существуют дополнительные процедурные языки, которые не включены в основную поставку. Кроме того, пользователи могут создавать другие языки. Основы разработки нового процедурного языка описаны в разделе «Написание обработчика процедурного языка».