Skip to main content
Version: 2.0.0 (latest)

3.17. Extensions

Extensions are modules commonly used to install additional features on a database server. Despite the extensive list of built-in extensions, PostgreSQL provides some ways for the user to write custom extensions, although this topic will not be covered in this documentation. Basically, extensions are a set of other objects, like functions, types, operators, and many others. When the user needs to install a certain extension, all the objects owned by it are installed as part of the database.

In pgModeler, an extension object is used just to tell the server that the named extension must be installed at the specified schema. To work correctly, the extension modules or libraries must exist on the database server. The extension attributes are detailed as follows.

ch3.extension-dialog.general1

General
#FieldDescription
1Schema

Specifies the schema where the objects installed by the extension are placed by default, although the data types of the extension can have their own schemas (see Data types below).

ch3.extension-dialog.attributes123

Attributes
#FieldDescription
1Current version

The version of the extension to be installed.

2Old version

This attribute must be specified when, and only when, you are attempting to install an extension that replaces an "old style" module, that is, a collection of objects that are not packaged into an extension.

3Data types

The types installed by the extension. Once the extension is created, they are available in the data type configuration widget; if the extension is removed, they are removed too. The column Schema specifies the schema where the type is created; if it doesn't exist in the model, pgModeler creates it as a protected object.

References​

Extension DDL
https://www.postgresql.org/docs/current/static/sql-createextension.html

PostgreSQL built-in extensions
https://www.postgresql.org/docs/current/static/contrib.html

Creating extensions
https://www.postgresql.org/docs/current/static/extend-extensions.html