Skip to content

PostgreSQL GROUP

    CREATE GROUP

    CREATE GROUP — define a new database role

    CREATE GROUP name [ [ WITH ] option [ ... ] ]
     
    where option can be:
     
          SUPERUSER | NOSUPERUSER
        | CREATEDB | NOCREATEDB
        | CREATEROLE | NOCREATEROLE
        | INHERIT | NOINHERIT
        | LOGIN | NOLOGIN
        | REPLICATION | NOREPLICATION
        | BYPASSRLS | NOBYPASSRLS
        | CONNECTION LIMIT connlimit
        | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
        | VALID UNTIL 'timestamp'
        | IN ROLE role_name [, ...]
        | IN GROUP role_name [, ...]
        | ROLE role_name [, ...]
        | ADMIN role_name [, ...]
        | USER role_name [, ...]
        | SYSID uid

    CREATE GROUP is now an alias for CREATE ROLE.

    ALTER GROUP

    ALTER GROUP — change role name or membership

    ALTER GROUP role_specification ADD USER user_name [, ... ]
    ALTER GROUP role_specification DROP USER user_name [, ... ]
     
    where role_specification can be:
     
        role_name
      | CURRENT_USER
      | SESSION_USER
     
    ALTER GROUP group_name RENAME TO new_name

    ALTER GROUP changes the attributes of a user group. This is an obsolete command, though still accepted for backwards compatibility, because groups (and users too) have been superseded by the more general concept of roles.

    The first two variants add users to a group or remove them from a group. (Any role can play the part of either a “user” or a “group” for this purpose.) These variants are effectively equivalent to granting or revoking membership in the role named as the “group”; so the preferred way to do this is to use GRANT or REVOKE.

    The third variant changes the name of the group. This is exactly equivalent to renaming the role with ALTER ROLE.

    Parameters

    group_name

    The name of the group (role) to modify.

    user_name

    Users (roles) that are to be added to or removed from the group. The users must already exist; ALTER GROUP does not create or drop users.

    new_name

    The new name of the group.

    Examples

    Add users to a group:

    ALTER GROUP staff ADD USER karl, john;

    Remove a user from a group:

    ALTER GROUP workers DROP USER beth;

    DROP GROUP

    DROP GROUP — remove a database role

    DROP GROUP [ IF EXISTS ] name [, ...]

    DROP GROUP is now an alias for DROP ROLE.