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 manual. 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. In order to work correctly, the extension modules or libraries must exist in the database server. Following, the extension attributes are detailed.

Attribute Description
Schema Specifies the schema where the objects installed by the extension will be placed.
Version The current version of the extension to be installed.
Old 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 just a collection of objects not packaged into an extension.
Handles data type Indicates that the extension installs a data type. It is assumed that the data type has the same name of the extension itself. Once created, the extension type will be available in the data type configuration widget. Unfortunately, there is a limitation in the usage of this attribute: if the extension installs more than one data type, pgModeler will create only the data type named by the extension. To create the additional types you can mock these objects by creating simple user-defined types and disabling their SQL codes. Details about mocking objects can be seen in the chapter dedicated to modeling tips and tricks.

Mar 9, 2021 at 17:13