postgresql - PostgreSQL 授予对表的访问权限
问题描述
我在 PostgreSQL 中有 user1 和 user2 用户。我创建了一个数据库和一个data
在 PostgreSQL 中调用的方案。
在数据库中,我执行了以下语句:
ALTER DEFAULT PRIVILEGES IN SCHEMA data GRANT ALL ON TABLES TO user1;
ALTER DEFAULT PRIVILEGES IN SCHEMA data GRANT ALL ON TABLES TO user2;
我以 user1 身份登录并在数据模式中创建表,然后以 user2 身份登录,但无法使用 user2 凭据从 table1 中选择 *。
有什么方法可以创建表(未来)并授予对 user1 和 user2 的访问权限,而不仅仅是表的所有者?
我目前正在使用 PostgreSQL 13。
解决方案
您编写ALTER DEFAULT PRIVILEGES
语句的方式适用于运行该语句的用户创建的表。
要更改由 创建的表的默认权限user1
,请运行
ALTER DEFAULT PRIVILEGES FOR ROLE user1 IN SCHEMA data GRANT ALL ON TABLES TO user2;
推荐阅读
- c# - 如何在 C# 中获取标识符/方法的长度?
- tensorflow - Tensorflow2.0 Keras 回调中记录了哪些“指标”?
- javascript - 在解析内部语言时抛出异常是一种好习惯吗?
- javascript - 从 onClick 事件中选择 JavaScript 对象
- azure - 如何在逻辑应用搜索查询中转义“:”?
- tensorflow - TensorFlow Eager Execution 多线程
- git - Visual Studio 2019 停止推送到 Git
- python - 基于国家频率计数的彩色地图
- python - “SocketError: [Errno 61] Connection denied” Selenium with TOR
- python - 显示默认 nginx 页面而不是应用程序