aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2022-07-14 17:41:03 -0400
committerBruce Momjian <bruce@momjian.us>2022-07-14 17:41:03 -0400
commit5fe2d4c56edd315780e3c6a00caaa5625a719a87 (patch)
treef9a32ff0d38611221354c01c2cb596c76c5160bd
parent47ae6948f0b03cade761b80932c60f208b41f748 (diff)
downloadpostgresql-5fe2d4c56edd315780e3c6a00caaa5625a719a87.tar.gz
postgresql-5fe2d4c56edd315780e3c6a00caaa5625a719a87.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.sgml6
-rw-r--r--doc/src/sgml/ref/alter_procedure.sgml7
-rw-r--r--doc/src/sgml/ref/drop_extension.sgml10
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 0ee756a94d9..2e8e1162d82 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 033fda92ee5..20a623885f7 100644
--- a/doc/src/sgml/ref/alter_procedure.sgml
+++ b/doc/src/sgml/ref/alter_procedure.sgml
@@ -147,7 +147,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>