Fix permissions explanations in CREATE DATABASE and CREATE SCHEMA docs.
authorTom Lane
Thu, 4 Oct 2012 17:41:01 +0000 (13:41 -0400)
committerTom Lane
Thu, 4 Oct 2012 17:41:01 +0000 (13:41 -0400)
These reference pages still claimed that you have to be superuser to create
a database or schema owned by a different role.  That was true before 8.1,
but it was changed in commits aa1110624c08298393dfce996f7b21809d98d3fd and
f91370cd2faf1fd35a1ac74d84652a85ed841919 to allow assignment of ownership
to any role you are a member of.  However, at the time we were thinking of
that primarily as a change to the ALTER OWNER rules, so the need to touch
these two CREATE ref pages got missed.

doc/src/sgml/ref/create_database.sgml
doc/src/sgml/ref/create_schema.sgml

index 91cf7018c0818a44135492ce8d03eb522422e653..5158854841f4daf1afb051cb2306fba3dafad2a0 100644 (file)
@@ -46,14 +46,6 @@ CREATE DATABASE name
    See .
   
 
-  
-   Normally, the creator becomes the owner of the new database.
-   Superusers can create databases owned by other users, by using the
-   OWNER clause. They can even create databases owned by
-   users with no special privileges. Non-superusers with CREATEDB
-   privilege can only create databases owned by themselves.
-  
-
   
    By default, the new database will be created by cloning the standard
    system database template1.  A different template can be
@@ -84,9 +76,11 @@ CREATE DATABASE name
       user_name
       
        
-        The name of the database user who will own the new database,
+        The role name of the user who will own the new database,
         or DEFAULT to use the default (namely, the
-        user executing the command).
+        user executing the command).  To create a database owned by another
+        role, you must be a direct or indirect member of that role,
+        or be a superuser.
        
       
      
index 2602bb1d56f98562b571ae240620b549728d2b84..550acf1a535a8c8f776459befac61a7988e06aa1 100644 (file)
@@ -67,7 +67,8 @@ CREATE SCHEMA IF NOT EXISTS AUTHORIZATION user_na
       schema_name
       
        
-        The name of a schema to be created.  If this is omitted, the user name
+        The name of a schema to be created.  If this is omitted, the
+        user_name
         is used as the schema name.  The name cannot
         begin with pg_, as such names
         are reserved for system schemas.
@@ -79,9 +80,10 @@ CREATE SCHEMA IF NOT EXISTS AUTHORIZATION user_na
       user_name
       
        
-        The name of the user who will own the schema.  If omitted,
-        defaults to the user executing the command.  Only superusers
-        can create schemas owned by users other than themselves.
+        The role name of the user who will own the new schema.  If omitted,
+        defaults to the user executing the command.  To create a schema
+        owned by another role, you must be a direct or indirect member of
+        that role, or be a superuser.
        
       
      
@@ -197,7 +199,8 @@ CREATE VIEW hollywood.winners AS
    all objects within it.  PostgreSQL
    allows schemas to contain objects owned by users other than the
    schema owner.  This can happen only if the schema owner grants the
-   CREATE privilege on his schema to someone else.
+   CREATE privilege on his schema to someone else, or a
+   superuser chooses to create objects in it.