CREATE GROUP name [ 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.
The error returned if a PostgreSQL group named name currently exists in the system.
The error returned if a non-superuser attempts to create a group.
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 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