I'm trying to develop a system, and for the first time I'm using PostgreSQL. I'm trying to organize and separate roles properly, but I'm losing my mind with it (about a week on this now).
Following the title of this question, is it possible to set the following(?):
- A user who can do everything with all tables, except perform CRUD operations on the records of the same. In addition, this user can not create, delete, modify or insert roles.
- Another user who can perform all CRUD operations on table records, but can not perform any structural change operation in database objects. This guy cannot create/D/M/I roles as well.
- A third user who behaves like DBA, able to do anything.
The first user serves as a limited DBA who can make structural changes, but can not snoop data. The second is a system using the database. The third and last is a DBA with full control.
This question comes from another one previously made by me, similar, but not equal. I do not want to know what's wrong with that code anymore. Also, I believe that here is the most appropriate place to ask things like that.
I want to know if this is possible. If so, I would like to see how. If not, I want an explanation of why.
Thank you for your attention in advance.