]> granicus.if.org Git - postgresql/commitdiff
Improve documentation about the relationship of extensions and schemas.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 5 Apr 2013 02:37:29 +0000 (22:37 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 5 Apr 2013 02:37:29 +0000 (22:37 -0400)
There's been some confusion expressed about this point, so clarify.
Extended version of a patch by David Wheeler.

doc/src/sgml/extend.sgml
doc/src/sgml/ref/create_extension.sgml

index 672d0df13cf6e24cb06548bb68c5c7816e1ca824..bc1cd5908f270074092a6025e05ac6ba7b1e013f 100644 (file)
     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 <quote>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.
    </para>
 
    <sect2>
index 4f3b9a5698a8296220879a1ab517558251d7ba74..9c9bf6ff7d757ac1948d64038376f60edc012f46 100644 (file)
@@ -94,6 +94,12 @@ CREATE EXTENSION [ IF NOT EXISTS ] <replaceable class="parameter">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.
        </para>
+       <para>
+        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.
+       </para>
       </listitem>
      </varlistentry>