September 26, 2024: PostgreSQL 17 Released!
Supported Versions: Current (17) / 16 / 15 / 14 / 13 / 12
Development Versions: devel
Unsupported versions: 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

CREATE GROUP

Name

CREATE GROUP -- define a new user group

Synopsis

CREATE GROUP name [ [ WITH ] option [ ... ] ]

where option can be:

     SYSID gid
   | USER  username [, ...]

Description

CREATE GROUP will create a new group of users. You must be a database superuser to use this command.

Note that both users and groups are defined at the database cluster level, and so are valid in all databases in the cluster.

Use ALTER GROUP to change a group's membership, and DROP GROUP to remove a group.

Parameters

name

The name of the group.

gid

The SYSID clause can be used to choose the PostgreSQL group ID of the new group. This is normally not necessary, but may be useful if you need to recreate a group referenced in the permissions of some object.

If this is not specified, the highest assigned group ID plus one (with a minimum of 100) will be used as default.

username

A list of users to include in the group. The users must already exist.

Examples

Create an empty group:

CREATE GROUP staff;

Create a group with members:

CREATE GROUP marketing WITH USER jonathan, david;

Compatibility

There is no CREATE GROUP statement in the SQL standard. Roles are similar in concept to groups.