[Rails] (PG::InsufficientPrivilege: ERROR: permission denied for schema public)
在 import 完 .sql 檔到專案的 postgres 後
使用 rails console 操作 db, 出現了以下錯誤訊息:
ActiveRecord::StatementInvalid (PG::InsufficientPrivilege: ERROR: permission denied for schema public)
LINE 1: SELECT 1 FROM ONLY "public"."users" x WHERE "id" OPERATOR(pg...
^
QUERY: SELECT 1 FROM ONLY "public"."users" x WHERE "id" OPERATOR(pg_catalog.=) $1 FOR KEY SHARE OF x
解決方法:
- 進 pg 看目前所有使用者的權限
$ psql postgres
$ \du
發現 root 的 role attribute 是空的
- 給 root superuser 的權限, 在重新
\du
查看一次
$ ALTER USER root WITH SUPERUSER;
- 回到 rails console 重試, 成功