Introduction
Login roles let users access the database. Group roles help organize users and share permissions easily.
Jump into concepts and practice - no test required
Login roles let users access the database. Group roles help organize users and share permissions easily.
CREATE ROLE role_name [WITH LOGIN]; CREATE ROLE group_name; GRANT group_name TO role_name;
Roles with LOGIN can connect to the database.
Group roles cannot log in but can hold permissions for many users.
CREATE ROLE alice WITH LOGIN PASSWORD 'secret';
CREATE ROLE developers;GRANT developers TO alice;
This example creates a login role 'bob' and a group role 'admins'. Then it adds 'bob' to 'admins'. Finally, it shows the roles and membership info.
CREATE ROLE bob WITH LOGIN PASSWORD 'mypassword'; CREATE ROLE admins; GRANT admins TO bob; -- Check roles and memberships SELECT rolname, rolcanlogin FROM pg_roles WHERE rolname IN ('bob', 'admins'); SELECT roleid, member FROM pg_auth_members WHERE member = (SELECT oid FROM pg_roles WHERE rolname = 'bob');
Login roles are like user accounts.
Group roles are like teams or departments.
Users can belong to many groups to get combined permissions.
Login roles allow users to connect to the database.
Group roles organize users and share permissions easily.
Grant group roles to login roles to manage permissions efficiently.
login role in PostgreSQL?managers without login capability?CREATE ROLE analysts NOLOGIN; CREATE ROLE alice LOGIN PASSWORD 'secret'; GRANT analysts TO alice;
alice after these commands?CREATE ROLE developers; CREATE ROLE bob LOGIN; GRANT developers TO bob NOLOGIN;