以前ハマったところで、もう一回ハマったので、備忘録として残しておきます
事象
View を作り直したところ、Supabase-js
でのselect
結果として、以下のエラーが帰ってくるようになった
42501 permission denied for view (View名)
エラーの解消方法
以下のSQL
を実行して、権限を付与する
View
に対しての実行だが、~ ON table ~
で実行する
(table
の記載をview
に置き換えて実行すると構文エラーになる)
GRANT ALL ON table スキーマ名.View名 TO postgres;
GRANT ALL ON table スキーマ名.View名 TO anon;
GRANT ALL ON table スキーマ名.View名 TO authenticated;
GRANT ALL ON table スキーマ名.View名 TO service_role;
※スキーマ名.View名
は実行するView
の名称に置き換え
開発様に全権限を与えているので、必要に応じて設定は変更すること
テーブルにselect
して、42501
エラーが返ってくることがあるが、その場合の対処方法も同じ