This allows these modules to be installed into a database without
superuser privileges (assuming that the DBA or sysadmin has installed
the module's files in the expected place). You only need CREATE
privilege on the current database, which by default would be
available to the database owner.
The following modules are marked trusted:
btree_gin
btree_gist
citext
cube
dict_int
earthdistance
fuzzystrmatch
hstore
hstore_plperl
intarray
isn
jsonb_plperl
lo
ltree
pg_trgm
pgcrypto
seg
tablefunc
tcn
tsm_system_rows
tsm_system_time
unaccent
uuid-ossp
In the future we might mark some more modules trusted, but there
seems to be no debate about these, and on the whole it seems wise
to be conservative with use of this feature to start out with.
Discussion: https://postgr.es/m/32315.
1580326876@sss.pgh.pa.us
default_version = '1.3'
module_pathname = '$libdir/btree_gin'
relocatable = true
+trusted = true
default_version = '1.5'
module_pathname = '$libdir/btree_gist'
relocatable = true
+trusted = true
default_version = '1.6'
module_pathname = '$libdir/citext'
relocatable = true
+trusted = true
default_version = '1.4'
module_pathname = '$libdir/cube'
relocatable = true
+trusted = true
default_version = '1.0'
module_pathname = '$libdir/dict_int'
relocatable = true
+trusted = true
default_version = '1.1'
module_pathname = '$libdir/earthdistance'
relocatable = true
+trusted = true
requires = 'cube'
default_version = '1.1'
module_pathname = '$libdir/fuzzystrmatch'
relocatable = true
+trusted = true
default_version = '1.6'
module_pathname = '$libdir/hstore'
relocatable = true
+trusted = true
default_version = '1.0'
module_pathname = '$libdir/hstore_plperl'
relocatable = true
+trusted = true
requires = 'hstore,plperl'
default_version = '1.2'
module_pathname = '$libdir/_int'
relocatable = true
+trusted = true
default_version = '1.2'
module_pathname = '$libdir/isn'
relocatable = true
+trusted = true
default_version = '1.0'
module_pathname = '$libdir/jsonb_plperl'
relocatable = true
+trusted = true
requires = 'plperl'
default_version = '1.1'
module_pathname = '$libdir/lo'
relocatable = true
+trusted = true
default_version = '1.1'
module_pathname = '$libdir/ltree'
relocatable = true
+trusted = true
default_version = '1.4'
module_pathname = '$libdir/pg_trgm'
relocatable = true
+trusted = true
default_version = '1.3'
module_pathname = '$libdir/pgcrypto'
relocatable = true
+trusted = true
default_version = '1.3'
module_pathname = '$libdir/seg'
relocatable = true
+trusted = true
default_version = '1.0'
module_pathname = '$libdir/tablefunc'
relocatable = true
+trusted = true
default_version = '1.0'
module_pathname = '$libdir/tcn'
relocatable = true
+trusted = true
default_version = '1.0'
module_pathname = '$libdir/tsm_system_rows'
relocatable = true
+trusted = true
default_version = '1.0'
module_pathname = '$libdir/tsm_system_time'
relocatable = true
+trusted = true
default_version = '1.1'
module_pathname = '$libdir/unaccent'
relocatable = true
+trusted = true
default_version = '1.1'
module_pathname = '$libdir/uuid-ossp'
relocatable = true
+trusted = true
two separate indexes that would have to be combined via bitmap ANDing.
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
Example Usage
oid, and money.
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
Example Usage
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
Rationale
Many modules supply new user-defined functions, operators, or types.
To make use of one of these modules, after you have installed the code
you need to register the new SQL objects in the database system.
-
In PostgreSQL 9.1 and later, this is done by executing
+ This is done by executing
a command. In a fresh database,
you can simply do
CREATE EXTENSION module_name;
- This command must be run by a database superuser. This registers the
- new SQL objects in the current database only, so you need to run this
- command in each database that you want
+ This command registers the new SQL objects in the current database only,
+ so you need to run it in each database that you want
the module's facilities to be available in. Alternatively, run it in
database template1 so that the extension will be copied into
subsequently-created databases by default.
+ For all these modules, CREATE EXTENSION must be run
+ by a database superuser, unless the module is
+ considered trusted
, in which case it can be run by any
+ user who has CREATE privilege on the current
+ database. Modules that are trusted are identified as such in the
+ sections that follow. Generally, trusted modules are ones that cannot
+ provide access to outside-the-database functionality.
+
+
Many modules allow you to install their objects in a schema of your
choice. To do that, add SCHEMA
representing multidimensional cubes.
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
Syntax
unique words, which greatly affects the performance of searching.
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
Configuration
project.)
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
Cube-Based Earth Distances
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
Soundex
simply text strings.
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
hstore External Representation
convention). If you use them, hstore values are mapped to
Python dictionaries.
+
+ Of these additional extensions, hstore_plperl is
+ considered trusted; the rest are not.
+
treated as though it were a linear array in storage order.
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
intarray Functions and Operators
dropped from a future version of this module.
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
Data Types
use them, jsonb values are mapped to Python dictionaries,
lists, and scalars, as appropriate.
+
+ Of these extensions, jsonb_plperl is
+ considered trusted
, that is, it can be installed by
+ non-superusers who have CREATE privilege on the
+ current database. The rest require superuser privilege to install.
+
and a trigger lo_manage.
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
Rationale
Extensive facilities for searching through label trees are provided.
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
Definitions
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
General Hashing Functions
strings.
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
Trigram (or Trigraph) Concepts
making it especially useful for representing laboratory measurements.
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
Rationale
multiple rows.
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
Functions Provided
used as an AFTER trigger FOR EACH ROW.
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
Only one parameter may be supplied to the function in a
CREATE TRIGGER statement, and that is optional. If supplied
the REPEATABLE clause.
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
Examples
the REPEATABLE clause.
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
Examples
normalizing dictionary for the thesaurus dictionary.
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
Configuration
linkend="functions-uuid"/> for built-in ways to generate UUIDs.
+ This module is considered trusted
, that is, it can be
+ installed by non-superusers who have CREATE privilege
+ on the current database.
+
+
uuid-ossp Functions