Normal views aren&#x27;t designed for security. There are a number of ways that they can &quot;leak&quot; information that is supposed to be hidden.<p>The reason is that the optimizer reorders operations. So, a tricky person can write the query in a way that, for example, throws a divide-by-zero error if someone&#x27;s account balance is within a certain range, even if they don&#x27;t have permission to see the balance. Then they can run a few queries to determine the exact balance.<p>RLS builds on top of something called a &quot;security barrier view&quot; which prevents certain kinds of optimizations that could cause this problem.<p>It also offers a nicer interface that&#x27;s easier to manage.