postgresql - Postgres(10.3) 权限问题
问题描述
我有一个 PosgresQL(10.3) 数据库。数据库由user_owner创建,结构完整但没有行数据。
我想远程访问数据库。使用 user_owner 我可以毫无问题地远程访问数据库。
但是,我创建了一个辅助用户 user_remote。我想使用这个用户,而不是 user_owner,因为我会给他临时远程访问权限,而 user_owner 用于后端代码。
对于这个用户,我给予特权:
GRANT ALL PRIVILEGES ON DATABASE name_db TO remote_user;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO remote_user;
当我尝试使用 user_remote, remote 连接时,我可以连接到数据库,但如果我尝试执行其他操作,例如 SELECT,我会收到错误消息:
[42501] ERROR: permission denied for relation table_name
如果我连接数据库并赋予表权限,则:
GRANT ALL ON table_name TO user_remote;
作品。
但是,我有很多表,以及我想要实现的目标:
1)通过一个/几个步骤授予对所有表的 user_remote 访问权限,而不是逐个表 2)我不希望 user_remote 拥有所有权限,而只是进行行操作(删除、更新、插入)
解决方案
推荐阅读
- mysql - 如何格式化从 SQL 查询返回的数据结构
- azure - Azure bot 和 QNAmaker 之间的响应不一致
- c# - 是否有任何现有函数可以在 C# 库中获取字符串类型的 MAX 长度
- android - Flutter RawKeyboardListener 听了两次?
- regex - Htaccess 从链接中删除符号
- c# - ASP.NET Core 2.0 Web API 抛出 500 错误并且不允许访问 http post
- angular - 在 Angular 中似乎不需要导出可声明对象
- json - 业力打字稿需要 json 文件不起作用
- ios - 子类化 UIPageControl 以自定义活动和非活动点图像
- json - 为 swagger 指定的模型架构无效