RLS
In the previous part of the chapter, you saw the permission mechanism by which PostgreSQL allows roles (both users and groups) to access different objects within the database and the data contained in those objects.
In particular, with regard to tables, you learned how to restrict access to just a specific column list within the tabular data.
PostgreSQL provides another interesting mechanism to restrict access to tabular data: RLS. The idea is that RLS decides which tuples the role can have access to, either in read or write mode. Therefore, if the column-based permissions provide a way of limiting the vertical shape of the tabular data, RLS provides a way to restrict the horizontal shape of the data itself.
When is it appropriate to use RLS? Imagine you have a table that contains data related to users, and you don’t want your users to be able to tamper with other users’ data. In such a case, restricting the access of every user to just their own tuples...