Databases
Advanced
What is Row-Level Security (RLS)?
A database feature that restricts which rows a user can access in a table based on security policies.
Row-Level Security enables fine-grained access control at the database level. Instead of filtering data in application code, RLS policies automatically restrict which rows are visible or modifiable per user or role. PostgreSQL implements RLS through CREATE POLICY statements that define conditions using the current user context. This is especially useful in multi-tenant applications where different customers share tables but must only see their own data. RLS provides defense-in-depth security — even if application-level authorization fails, the database enforces access rules.