Create Group

Creates a new PostgreSQL group within the database.


       [ WITH [ SYSID gid ]
              [ USER username [, ...] ] ]



The name of the new group to create.


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.


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.



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.


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.


The following example ...

Get Practical PostgreSQL now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.