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
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.
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.
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.
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.