48.22. pg_extension

В каталоге pg_extension хранится информация об установленных расширениях. Подробнее о расширениях можно узнать в Разделе 35.15.

Таблица 48-22. Колонки pg_extension

ИмяТипСсылкиОписание
oidoid Идентификатор строки (скрытый атрибут; должен выбираться явно)
extnamename Имя расширения
extowneroidpg_authid.oidВладелец расширения
extnamespaceoidpg_namespace.oidСхема, содержащая экспортируемые расширением объекты
extrelocatablebool True, если расширение можно переместить в другую схему
extversiontext Имя версии расширения
extconfigoid[]pg_class.oidМассив с идентификаторами regclass, указывающими на таблицы конфигурации расширения, либо NULL, если таких таблиц нет
extconditiontext[] Массив с условиями фильтра WHERE для таблиц конфигурации расширения, либо NULL, если таких условий нет

Заметьте, что в отличие от большинства каталогов с колонкой "namespace", здесь extnamespace не подразумевает, что расширение принадлежит данной схеме. Имена расширений никогда не дополняются схемой. Вместо этого, extnamespace показывает, что в этой схеме содержатся все или большинство объектов расширения. Если extrelocatable имеет значение true, эта схема должна фактически содержать все относящиеся к схеме объекты, составляющие это расширение.

48.22. pg_extension

The catalog pg_extension stores information about the installed extensions. See Section 35.15 for details about extensions.

Table 48-22. pg_extension Columns

NameTypeReferencesDescription
oidoid Row identifier (hidden attribute; must be explicitly selected)
extnamename Name of the extension
extowneroidpg_authid.oidOwner of the extension
extnamespaceoidpg_namespace.oidSchema containing the extension's exported objects
extrelocatablebool True if extension can be relocated to another schema
extversiontext Version name for the extension
extconfigoid[]pg_class.oidArray of regclass OIDs for the extension's configuration table(s), or NULL if none
extconditiontext[] Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none

Note that unlike most catalogs with a "namespace" column, extnamespace is not meant to imply that the extension belongs to that schema. Extension names are never schema-qualified. Rather, extnamespace indicates the schema that contains most or all of the extension's objects. If extrelocatable is true, then this schema must in fact contain all schema-qualifiable objects belonging to the extension.

FAQ