最近一个号称老司机的腾讯运维师傅安装了一个 PostgreSQL 数据库,在部署部分应用后提示:org.postgresql.util.PSQLException: ERROR: permission denied for table tx_user 异常。
这个运维师傅太懒,异常日志也不看,直接发给我。我一看,就发现是 PostgreSQL 数据库的权限设置的不对。
这个 ERROR 的大致意思是说:访问表 tx_user 的权限被拒绝。
既然是权限问题,那就执行一下下面的命令:
grant all privileges on database xxx to xxx
运维执行过后,重启应用发现还是不行。
于是又发给他一条命令,执行下面的语句。
GRANT SELECT ON ALL TABLES IN SCHEMA public TO myuser;
不限麻烦的可以执行下面的语句:
psql -U postgres -d postgres
-- 切换到mydb数据库
/c mydb
-- 赋予所有表的所有权限给xttblog
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO xttblog;
// 赋予codedq用户,tuser表的所有权限
GRANT ALL PRIVILEGES ON tuser TO codedq;
最终,完美解决。
参考资料
- https://stackoverflow.com/questions/22595560/postgresql-permission-denied-for-relation
- https://stackoverflow.com/questions/10491208/how-to-grant-all-privileges-on-views-to-arbitrary-user/10491275
: » 解决org.postgresql.util.PSQLException: ERROR: permission denied for table xxx异常
原创文章,作者:Carrie001128,如若转载,请注明出处:https://blog.ytso.com/252314.html