Deprecated RLS features
Last edited: 12/29/2025
The auth.role() function is now deprecated
The auth.role() function has been deprecated in favour of using the TO field, natively supported within Postgres:
1-- DEPRECATED2create policy "Public profiles are viewable by everyone."3on profiles for select using (4 auth.role() = 'authenticated' or auth.role() = 'anon'5);67-- RECOMMENDED8create policy "Public profiles are viewable by everyone."9on profiles for select10to authenticated, anon11using (12 true13);The auth.email() function is now deprecated
The auth.email() function has been deprecated in favour a more generic function to return the full JWT:
1- DEPRECATED2create policy "User can view their profile."3on profiles for select using (4 auth.email() = email5);67-- RECOMMENDED8create policy "User can view their profile."9on profiles for select using (10 (auth.jwt() ->> 'email') = email11);