Rowpass 42501: permission denied for table Not affiliated with Supabase

Rowpass / Guides

Check the grants on a table

One query lists every role and privilege on a table.

select grantee, privilege_type
from information_schema.role_table_grants
where table_name = 'your_table';

Read the result

You seeIt means
No rows for anon or authenticatedThe Data API cannot reach the table for browser requests. Expect 42501.
anon with INSERT, UPDATE or DELETESigned-out visitors can attempt writes. Only RLS stands in the way.
All three roles with SELECT, INSERT, UPDATE, DELETEThe old automatic defaults. Fine only if RLS is on with sound policies.
Only service_roleA private table.

This query matches on table name only. If two schemas hold a table with the same name, add and table_schema = 'public'.

Compare with what you want

Choiceanonauthenticatedservice_rolePolicies written
Public readSELECTSELECTSELECT, INSERT, UPDATE, DELETEOne: read every row
Owner onlynoneSELECT, INSERT, UPDATE, DELETESELECT, INSERT, UPDATE, DELETEFour: own rows only
PrivatenonenoneSELECT, INSERT, UPDATE, DELETENone (RLS on, so nothing gets through)

Write the fix for your tables

One table is free. The whole schema with a rollback file is $9 one-time, free during launch.

 

Waiting for a paste.

    Who can reach each table

    Your tables show up here, one row each, with a choice of who can reach them.

    The SQL appears here as soon as a table is found.

    Parsed in your browser. Your SQL is never uploaded, and no site or database is scanned.

    Questions

    Where does Supabase show this without SQL?

    The docs mention the Integrations > Data API section of the dashboard for changing table privileges, and the Security Advisor for a list of tables to review.

    Sources

    Related

    Did it fix your error?