Metadata Desc

Available Metadata for PostgreSQL Extensions, and explain each attribute.

Each extension comes with several metadata attributes. Below are the descriptions of these attributes:

  • id

    Extension identifier, an unique integer assigned to each extension for internal sorting.

  • name

    Extension name, the name of the extension in the PostgreSQL system catalog, used in CREATE EXTENSION.

    Extensions typically come with files like <name>.control, <name>*.so, and <name>*.sql.

  • alias

    Extension alias, a normalized name assigned by Pigsty to each extension, usually matching the extension name name. However, there are exceptions. For example, installing an RPM package that introduces multiple extensions will share a common alias, such as postgis.

  • version

    Default version of the extension, usually the latest version. In some special cases, the available versions in RPM and Debian may slightly differ.

  • category

    Extension category, used to distinguish the type of functionality provided by the extension, such as: gis, time, rag, fts, olap, feat, lang, type, func, admin, stat, sec, fdw, sim, etl

  • tags

    Tags describing the features of the extension.

  • repo

    The source repository of the extension, CONTRIB means it’s a PostgreSQL built-in extension, PGDG denotes a PGDG first-party extension, and PIGSTY indicates a Pigsty third-party extension.

  • lang

    The programming language used by the extension, usually C, but there are some written in C++ or Rust. There are also extensions purely composed of SQL and data.

  • need_load

    Marked with Load, meaning the extension uses PostgreSQL hooks, requiring dynamic loading and a PostgreSQL restart to take effect. Only a few extensions need dynamic loading, most are statically loaded.

  • need_ddl

    Marked with DDL, meaning the extension requires executing DDL statements: CREATE EXTENSION.

    Most extensions need the CREATE EXTENSION DDL statement for creation, but there are exceptions like pg_stat_statements and wal2json.

  • trusted

    Does installing this extension require superuser privileges? Or is the extension “trusted” — only providing functions internally within the database.

    A few extensions only provide functions internally within the database and thus do not require superuser privileges to install (trusted). Any user with CREATE privileges can install trusted extensions.

  • relocatable

    Can the extension be relocated? That is, can it be installed into other schemas? Most extensions are relocatable, but there are exceptions where extensions specify their schema explicitly.

  • schemas

    If the extension is relocatable, it can be installed into a specified schema. This attribute specifies the default schema for the extension. PostgreSQL typically allows extensions to use only one schema, but some extensions do not follow this rule, such as citus and timescaledb.

  • pg_ver

    The PostgreSQL versions supported by the extension, typically only considering versions within the support lifecycle, i.e., 12 - 16.

  • requires

    Other extensions this extension depends on, if any. An extension may depend on multiple other extensions, and these dependencies are usually declared in the requires field of the extension’s control file.

    When installing an extension, dependencies can be automatically installed with the CREATE EXTENSION xxx CASCADE statement.

  • pkg

    Extension package (RPM/DEB) name, using $v to replace the specific major PostgreSQL version number.

  • pkg_ver

    The version number of the extension package (RPM/DEB), usually consistent with the extension’s version (versionobtained from system views). However, there are rare exceptions where the package version and the extension version are inconsistent or independently managed.

  • pkg_deps

    The dependencies of the extension package (RPM/DEB), different from the extension’s dependencies (requires), here referring to the specific dependencies of the RPM/DEB package.

  • url

    The official website or source code repository of the extension.

  • license

    The open-source license used by the extension, typically PostgreSQL, MIT, Apache, GPL, etc.

  • en_desc

    The English description of the extension, describing its functions and uses.

  • zh_desc

    The Chinese description of the extension, describing its functions and uses.

  • comment

    Additional comments describing the features or considerations of the extension.


Last modified 2024-08-15: udpate event (99fdeb8)