diff options
author | Bruce Momjian <bruce@momjian.us> | 2022-07-14 17:41:03 -0400 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2022-07-14 17:41:03 -0400 |
commit | ef9d0cf19cdb74fd9b9f833d8e42ed283e0def23 (patch) | |
tree | ea9865748b2bcfdc86607bdb9862c72988958ae7 | |
parent | 2d4c6437c87e6a036a163b1b4363097ee860cef0 (diff) | |
download | postgresql-ef9d0cf19cdb74fd9b9f833d8e42ed283e0def23.tar.gz postgresql-ef9d0cf19cdb74fd9b9f833d8e42ed283e0def23.zip |
doc: clarify how dropping of extensions affects dependent objs.
Clarify that functions/procedures are dropped when any extension that
depends on them is dropped.
Reported-by: David G. Johnston
Discussion: https://postgr.es/m/CAKFQuwbPSHMDGkisRUmewopweC1bFvytVqB=a=X4GFg=4ZWxPA@mail.gmail.com
Backpatch-through: 13
-rw-r--r-- | doc/src/sgml/ref/alter_function.sgml | 6 | ||||
-rw-r--r-- | doc/src/sgml/ref/alter_procedure.sgml | 7 | ||||
-rw-r--r-- | doc/src/sgml/ref/drop_extension.sgml | 10 |
3 files changed, 16 insertions, 7 deletions
diff --git a/doc/src/sgml/ref/alter_function.sgml b/doc/src/sgml/ref/alter_function.sgml index c5d12af25cd..f64940b7319 100644 --- a/doc/src/sgml/ref/alter_function.sgml +++ b/doc/src/sgml/ref/alter_function.sgml @@ -160,8 +160,10 @@ ALTER FUNCTION <replaceable>name</replaceable> [ ( [ [ <replaceable class="param <para> This form marks the function as dependent on the extension, or no longer dependent on that extension if <literal>NO</literal> is specified. - A function that's marked as dependent on an extension is automatically - dropped when the extension is dropped. + A function that's marked as dependent on an extension is dropped when the + extension is dropped, even if <literal>CASCADE</literal> is not specified. + A function can depend upon multiple extensions, and will be dropped when + any one of those extensions is dropped. </para> </listitem> </varlistentry> diff --git a/doc/src/sgml/ref/alter_procedure.sgml b/doc/src/sgml/ref/alter_procedure.sgml index 9148d282168..6afb2d52b76 100644 --- a/doc/src/sgml/ref/alter_procedure.sgml +++ b/doc/src/sgml/ref/alter_procedure.sgml @@ -144,7 +144,12 @@ ALTER PROCEDURE <replaceable>name</replaceable> [ ( [ [ <replaceable class="para <term><replaceable class="parameter">extension_name</replaceable></term> <listitem> <para> - The name of the extension that the procedure is to depend on. + This form marks the procedure as dependent on the extension, or no longer + dependent on the extension if <literal>NO</literal> is specified. + A procedure that's marked as dependent on an extension is dropped when the + extension is dropped, even if cascade is not specified. + A procedure can depend upon multiple extensions, and will be dropped when + any one of those extensions is dropped. </para> </listitem> </varlistentry> diff --git a/doc/src/sgml/ref/drop_extension.sgml b/doc/src/sgml/ref/drop_extension.sgml index 5e507dec928..c01ddace84c 100644 --- a/doc/src/sgml/ref/drop_extension.sgml +++ b/doc/src/sgml/ref/drop_extension.sgml @@ -30,7 +30,9 @@ DROP EXTENSION [ IF EXISTS ] <replaceable class="parameter">name</replaceable> [ <para> <command>DROP EXTENSION</command> removes extensions from the database. - Dropping an extension causes its component objects to be dropped as well. + Dropping an extension causes its component objects, and other explicitly + dependent routines (see <xref linkend="sql-alterroutine"/>, + the depends on extension action), to be dropped as well. </para> <para> @@ -77,9 +79,9 @@ DROP EXTENSION [ IF EXISTS ] <replaceable class="parameter">name</replaceable> [ <term><literal>RESTRICT</literal></term> <listitem> <para> - Refuse to drop the extension if any objects depend on it (other than - its own member objects and other extensions listed in the same - <command>DROP</command> command). This is the default. + This option prevents the specified extensions from being dropped + if there exists non-extension-member objects that depends on any + the extensions. This is the default. </para> </listitem> </varlistentry> |