To revoke all rights on the table1 table from the user2 user, you must run the following SQL command:
REVOKE ALL ON table1 FROM user2;
However, if user2 has been granted another role that gives them some rights on table1, say role3, this command is not enough; you must also choose one of the following options:
- Fix the user -that is, revoke role3 from user2
- Fix the role - that is, revoke privileges on table1 from role3
Both choices are imperfect because of their side-effects: The former will revoke all the privileges associated to role3, not just the privileges concerning table1; the latter will revoke the privileges on table1 from all the other users that have been granted role3, not just from user2.
It is normally better ...