Bird
0
0

You want to create a role 'manager' that can login, create databases, and also inherit permissions from another role 'staff'. Which commands correctly set this up?

hard📝 Application Q9 of 15
PostgreSQL - Roles and Security
You want to create a role 'manager' that can login, create databases, and also inherit permissions from another role 'staff'. Which commands correctly set this up?
ACREATE ROLE manager LOGIN CREATEDB INHERIT; GRANT staff TO manager;
BCREATE ROLE staff; CREATE ROLE manager LOGIN INHERIT CREATEDB; GRANT staff TO manager;
CCREATE ROLE manager LOGIN CREATEDB; ALTER ROLE manager INHERIT; GRANT staff TO manager;
DCREATE ROLE manager LOGIN CREATEDB; GRANT manager TO staff;
Step-by-Step Solution
Solution:
  1. Step 1: Create base role 'staff'

    First, create the 'staff' role without login.
  2. Step 2: Create 'manager' role with LOGIN, CREATEDB, and INHERIT

    CREATE ROLE staff; CREATE ROLE manager LOGIN INHERIT CREATEDB; GRANT staff TO manager; correctly creates 'manager' with these attributes.
  3. Step 3: Grant 'staff' role to 'manager'

    This allows 'manager' to inherit permissions from 'staff'.
  4. Final Answer:

    CREATE ROLE staff; CREATE ROLE manager LOGIN INHERIT CREATEDB; GRANT staff TO manager; -> Option B
  5. Quick Check:

    INHERIT + GRANT role to role = permission inheritance [OK]
Quick Trick: Use GRANT role TO role for inheritance after creating roles [OK]
Common Mistakes:
  • Granting roles in wrong direction
  • Misplacing INHERIT keyword
  • Trying to ALTER INHERIT separately

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More PostgreSQL Quizzes