From: Tom Lane Date: Fri, 5 Apr 2013 02:37:32 +0000 (-0400) Subject: Improve documentation about the relationship of extensions and schemas. X-Git-Tag: REL9_1_10~96 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d189deebd3c9e178c32c420a0df2b1ef9d445119;p=postgresql Improve documentation about the relationship of extensions and schemas. There's been some confusion expressed about this point, so clarify. Extended version of a patch by David Wheeler. --- diff --git a/doc/src/sgml/extend.sgml b/doc/src/sgml/extend.sgml index 0ea021ec35..b571b5f66b 100644 --- a/doc/src/sgml/extend.sgml +++ b/doc/src/sgml/extend.sgml @@ -352,6 +352,12 @@ extension.) Also notice that while a table can be a member of an extension, its subsidiary objects such as indexes are not directly considered members of the extension. + Another important point is that schemas can belong to extensions, but not + vice versa: an extension as such has an unqualified name and does not + exist within any schema. The extension's member objects, + however, will belong to schemas whenever appropriate for their object + types. It may or may not be appropriate for an extension to own the + schema(s) its member objects are within. diff --git a/doc/src/sgml/ref/create_extension.sgml b/doc/src/sgml/ref/create_extension.sgml index 9ec0fa2fe1..9c9bf6ff7d 100644 --- a/doc/src/sgml/ref/create_extension.sgml +++ b/doc/src/sgml/ref/create_extension.sgml @@ -22,7 +22,7 @@ PostgreSQL documentation CREATE EXTENSION [ IF NOT EXISTS ] extension_name - [ WITH ] [ SCHEMA schema ] + [ WITH ] [ SCHEMA schema_name ] [ VERSION version ] [ FROM old_version ] @@ -85,7 +85,7 @@ CREATE EXTENSION [ IF NOT EXISTS ] extension_name - schema + schema_name The name of the schema in which to install the extension's @@ -94,6 +94,12 @@ CREATE EXTENSION [ IF NOT EXISTS ] extension_name If not specified, and the extension's control file does not specify a schema either, the current default object creation schema is used. + + Remember that the extension itself is not considered to be within any + schema: extensions have unqualified names that must be unique + database-wide. But objects belonging to the extension can be within + schemas. +