How do you manage users' permissions efficiently when your company has a lot of databases and users?

My company has > 20 reporting databases. Whenever I need to change permission for some users, I need to use psql \dp and fire some queries to alter their roles.

It's ok for now since we only have 5 users, but surely the number would increase and make it very hard to manage it properly via the terminal. Could you suggest me some ways (or tools) to efficiently manage database permissions?

  • Do you need to make the same/similar change to every database each time? If so, they probably shouldn't be separate databases, but just separate schemas.
    – jjanes
    Feb 13, 2020 at 13:22

1 Answer 1


You use roles that have privileges on the objects.

The end users have no privileges assigned, but are members of those roles whose privileges they should inherit.

Then you can simply drop end users, and adding them just means adding them to a couple of roles.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.