Содержание
Digital Q.DataBase позволяет писать пользовательские функции на других языках, кроме SQL и C. Эти другие языки в общем случае называются процедурными языками (PL). Для функции, написанной на процедурном языке, сервер базы данных не имеет встроенных знаний о том, как интерпретировать исходный текст функции. Вместо этого задача передаётся специальному обработчику, который знает детали языка. Обработчик может либо выполнять всю работу по разбору, синтаксическому анализу, выполнению и т.д. самостоятельно, либо он может служить «прослойкой» между Digital Q.DataBase и существующей реализацией языка программирования. Сам обработчик является функцией на языке C, скомпилированной в разделяемый объект и загружаемой по требованию, как и любая другая функция C.
В стандартной поставке Digital Q.DataBase в настоящее время доступны четыре процедурных языка: PL/pgSQL (Глава 5.6), PL/Tcl (Глава 5.7), PL/Perl (Глава 5.8), и PL/Python (Глава 5.9). Существуют дополнительные процедурные языки, которые не включены в основную поставку. Приложение 8.9 содержит информацию о том, как их найти. Кроме того, пользователи могут определять другие языки; основы разработки нового процедурного языка описаны в Глава 7.6.