50.37. pg_pltemplate

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

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

Таблица 50.37. Столбцы pg_pltemplate

NameТипОписание
tmplnamenameИмя языка, для которого предназначен этот шаблон
tmpltrustedbooleanTrue, если язык считается доверенным
tmpldbacreatebooleanTrue, если язык может быть создан владельцем базы данных
tmplhandlertextИмя функции-обработчика вызова
tmplinlinetextИмя функции-обработчика анонимного кода, либо NULL, если её нет
tmplvalidatortextИмя функции проверки, либо NULL, если её нет
tmpllibrarytextПуть к разделяемой библиотеке, реализующей этот язык
tmplaclaclitem[]Права доступа для шаблона (фактически не используются)

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

Примечание

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