49.35. pg_pltemplate

В каталоге pg_pltemplate хранится информация о "шаблонах" для процедурных языков. Шаблон для языка позволяет создать язык в определённой базе данных простой командой CREATE LANGUAGE, без необходимости указывать подробности реализации.

В отличие от большинства системных каталогов, pg_pltemplate разделяется всеми базами данных в кластере: есть только один экземпляр pg_pltemplate в кластере, а не отдельные в базе данных. Благодаря этому, к данной информации при необходимости можно обращаться в любой базе данных.

Таблица 49-35. Столбцы pg_pltemplate

ИмяТипОписание
tmplname name Имя языка, для которого предназначен этот шаблон
tmpltrusted boolean True, если язык считается доверенным
tmpldbacreate boolean True, если язык может быть создан владельцем базы данных
tmplhandler text Имя функции-обработчика вызова
tmplinline text Имя функции-обработчика анонимного кода, либо NULL, если её нет
tmplvalidator text Имя функции проверки, либо NULL, если её нет
tmpllibrary text Путь к разделяемой библиотеке, реализующей этот язык
tmplacl aclitem[] Права доступа для шаблона (фактически не используются)

В настоящее время для управления шаблонами процедурных языков нет никаких команд; чтобы изменить встроенную информацию, суперпользователь должен модифицировать эту таблицу, выполняя обычные команды INSERT, DELETE или UPDATE.

Замечание: Скорее всего каталог pg_pltemplate будет ликвидирован в каком-нибудь будущем выпуске PostgreSQL, а эти знания о процедурных языках будут храниться в соответствующих скриптах установки расширений.