postgresql - 权限未更新
问题描述
运行后
db=> GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO userx;
WARNING: no privileges were granted for "pg_stat_statements"
GRANT
我尝试过了
drop trigger t_table on tablex;
我得到了这个结果
[42501] ERROR: must be owner of relation tablex
这是我为更改权限而运行的所有操作:
GRANT CONNECT ON DATABASE dbx to userx;
GRANT USAGE ON SCHEMA public to userx;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO userx;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO userx;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON TABLES TO userx;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON SEQUENCES TO userx;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON FUNCTIONS TO userx;
我可能会丢失什么?警告:没有为“pg_stat_statements”授予特权意味着什么,或者它是否在该表处停止而不添加特权?
解决方案
就像错误消息说的那样,只有表所有者(和超级用户)才能做到这一点。
该TRIGGER
权限允许您在表上创建触发器,但不能删除触发器。
所有权不是您可以授予的特权;你必须使用ALTER TABLE ... OWNER TO ...
它。
推荐阅读
- xamarin.android - 捕捉 System.Reflection.TargetInvocationException
- node.js - 获取 JSDoc 注释 Node js
- node.js - Nodejs 扩展运算符在返回的对象中返回一些意外的键
- flutter - 如何通过 shared_preferences 在我的项目中使用 List
- python-3.x - 在可迭代(语法糖)的索引 i 处查找项目?
- javascript - 在画廊中显示 firebase 图像放大
- git - 我必须在 PC 上安装什么才能使用 GIT
- python - Keras plot_model 在模型架构中将问号替换为 None
- css - flask_asset 似乎找不到 sass 文件,但目录没问题
- javascript - 为什么在更改选项卡时有时画布动画会失败?