diff options
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/catalogs.sgml | 14 | ||||
-rw-r--r-- | doc/src/sgml/extend.sgml | 13 | ||||
-rw-r--r-- | doc/src/sgml/ref/alter_extension.sgml | 4 | ||||
-rw-r--r-- | doc/src/sgml/ref/create_extension.sgml | 21 | ||||
-rw-r--r-- | doc/src/sgml/ref/drop_extension.sgml | 2 |
5 files changed, 46 insertions, 8 deletions
diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml index 88eaca0bea0..b14fb72cab8 100644 --- a/doc/src/sgml/catalogs.sgml +++ b/doc/src/sgml/catalogs.sgml @@ -6460,8 +6460,8 @@ <para> The <structname>pg_available_extensions</structname> view lists the - extensions that are available for installation. This view can only - be read by superusers. See also the + extensions that are available for installation. + See also the <link linkend="catalog-pg-extension"><structname>pg_extension</structname></link> catalog, which shows the extensions currently installed. </para> @@ -6522,8 +6522,8 @@ <para> The <structname>pg_available_extension_versions</structname> view lists the - specific extension versions that are available for installation. This view - can only be read by superusers. See also the <link + specific extension versions that are available for installation. + See also the <link linkend="catalog-pg-extension"><structname>pg_extension</structname></link> catalog, which shows the extensions currently installed. </para> @@ -6561,6 +6561,12 @@ </row> <row> + <entry><structfield>superuser</structfield></entry> + <entry><type>bool</type></entry> + <entry>True if only superusers are allowed to install this extension</entry> + </row> + + <row> <entry><structfield>relocatable</structfield></entry> <entry><type>bool</type></entry> <entry>True if extension can be relocated to another schema</entry> diff --git a/doc/src/sgml/extend.sgml b/doc/src/sgml/extend.sgml index 63a917d3c94..de0dc2663bd 100644 --- a/doc/src/sgml/extend.sgml +++ b/doc/src/sgml/extend.sgml @@ -464,6 +464,19 @@ </varlistentry> <varlistentry> + <term><varname>superuser</varname> (<type>boolean</type>)</term> + <listitem> + <para> + If this parameter is <literal>true</> (which is the default), + only superusers can create the extension or update it to a new + version. If it is set to <literal>false</>, just the privileges + required to execute the commands in the installation or update script + are required. + </para> + </listitem> + </varlistentry> + + <varlistentry> <term><varname>relocatable</varname> (<type>boolean</type>)</term> <listitem> <para> diff --git a/doc/src/sgml/ref/alter_extension.sgml b/doc/src/sgml/ref/alter_extension.sgml index d12aee251b5..e8c9608666e 100644 --- a/doc/src/sgml/ref/alter_extension.sgml +++ b/doc/src/sgml/ref/alter_extension.sgml @@ -114,7 +114,9 @@ ALTER EXTENSION <replaceable class="PARAMETER">extension_name</replaceable> DROP </para> <para> - Only superusers can execute <command>ALTER EXTENSION</command>. + You must own the extension to use <command>ALTER EXTENSION</command>. + The <literal>ADD</>/<literal>DROP</> forms require ownership of the + added/dropped object as well. </para> </refsect1> diff --git a/doc/src/sgml/ref/create_extension.sgml b/doc/src/sgml/ref/create_extension.sgml index d3b5fb009b3..818bc0c4b48 100644 --- a/doc/src/sgml/ref/create_extension.sgml +++ b/doc/src/sgml/ref/create_extension.sgml @@ -21,7 +21,7 @@ PostgreSQL documentation <refsynopsisdiv> <synopsis> -CREATE EXTENSION <replaceable class="parameter">extension_name</replaceable> +CREATE EXTENSION [ IF NOT EXISTS ] <replaceable class="parameter">extension_name</replaceable> [ WITH ] [ SCHEMA <replaceable class="parameter">schema</replaceable> ] [ VERSION <replaceable class="parameter">version</replaceable> ] [ FROM <replaceable class="parameter">old_version</replaceable> ] @@ -51,7 +51,12 @@ CREATE EXTENSION <replaceable class="parameter">extension_name</replaceable> </para> <para> - Only superusers can execute <command>CREATE EXTENSION</command>. + Loading an extension requires the same privileges that would be + required to create its component objects. For most extensions this + means superuser or database owner privileges are needed. + The user who runs <command>CREATE EXTENSION</command> becomes the + owner of the extension for purposes of later privilege checks, as well + as the owner of any objects created by the extension's script. </para> </refsect1> @@ -61,6 +66,18 @@ CREATE EXTENSION <replaceable class="parameter">extension_name</replaceable> <variablelist> <varlistentry> + <term><literal>IF NOT EXISTS</></term> + <listitem> + <para> + Do not throw an error if an extension with the same name already + exists. A notice is issued in this case. Note that there is no + guarantee that the existing extension is anything like the one that + would have been created. + </para> + </listitem> + </varlistentry> + + <varlistentry> <term><replaceable class="parameter">extension_name</replaceable></term> <listitem> <para> diff --git a/doc/src/sgml/ref/drop_extension.sgml b/doc/src/sgml/ref/drop_extension.sgml index 1e09ec4c7a7..979a6ebc15e 100644 --- a/doc/src/sgml/ref/drop_extension.sgml +++ b/doc/src/sgml/ref/drop_extension.sgml @@ -34,7 +34,7 @@ DROP EXTENSION [ IF EXISTS ] <replaceable class="PARAMETER">extension_name</repl </para> <para> - An extension can only be dropped by a superuser. + You must own the extension to use <command>DROP EXTENSION</command>. </para> </refsect1> |