CREATE GROUP

Name

CREATE GROUP -- Creates a new PostgreSQL group within the database.

Synopsis

CREATE GROUP name
       [ WITH [ SYSID gid ]
              [ USER  username [, ...] ] ]

Parameters

name

The name of the new group to create.

gid

The group ID to use for the new group. If you do not explicitly specify the group ID, it will automatically be calculated as one higher than the highest group ID currently in use.

username

The user (or comma-delimited list of users) that you wish to automatically include in the group you are creating. The users listed in this parameter must already exist within the database.

Results

CREATE GROUP

The message returned when a PostgreSQL group is created successfully.

ERROR: CREATE GROUP: group name "name" already exists

The error returned if a PostgreSQL group named name currently exists in the system.

ERROR: CREATE GROUP: permission denied

The error returned if a non-superuser attempts to create a group.

ERROR: CREATE GROUP: user "username" does not exist

The error returned if the username in the WITH USER clause does not currently exist.

Description

A database superuser can use CREATE GROUP to create a new group in PostgreSQL. A group is a system-wide database object that can be assigned privileges (with the GRANT command), and have users added to it as members. Members of a group are assigned its privileges by proxy.

To modify a group (and the list of users that it is composed of it), use the ALTER GROUP command. If you wish to remove a group entirely, use the DROP GROUP command.

Examples

The following example creates an empty group named management:

booktown=# CREATE GROUP management;
CREATE GROUP

The next example creates a group called accounting, and automatically adds users to it two users by specifying their usernames following the WITH USER clause:

booktown=# CREATE GROUP accounting WITH USER vincent, allen;
CREATE GROUP