50.37. pg_pltemplate
В каталоге pg_pltemplate
хранится информация о «шаблонах» для процедурных языков. Шаблон для языка позволяет создать язык в определённой базе данных простой командой CREATE LANGUAGE
, без необходимости указывать подробности реализации.
В отличие от большинства системных каталогов, pg_pltemplate
разделяется всеми базами данных в кластере: есть только один экземпляр pg_pltemplate
в кластере, а не отдельные в базе данных. Благодаря этому, к данной информации при необходимости можно обращаться в любой базе данных.
Таблица 50.37. Столбцы 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
будет ликвидирован в каком-нибудь будущем выпуске Postgres Pro, а эти знания о процедурных языках будут храниться в соответствующих скриптах установки расширений.