PostgreSQL 授予对表的访问权限

时间:2021-07-13 10:26:10

标签: postgresql

我在 PostgreSQL 中有 user1 和 user2 用户。我在 PostgreSQL 中创建了一个数据库和一个名为 data 的方案。

在数据库中,我执行了以下语句:

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 中选择 *。

有什么方法可以创建表(未来)并授予用户 1 和用户 2 的访问权限,而不仅仅是表的所有者?

我目前使用的是 PostgreSQL 13。

2 个答案:

答案 0 :(得分:2)

您编写 ALTER DEFAULT PRIVILEGES 语句的方式,它适用于运行该语句的用户创建的表

要更改由 user1 创建的表的默认权限,请运行

ALTER DEFAULT PRIVILEGES FOR ROLE user1 IN SCHEMA data GRANT ALL ON TABLES TO user2;

答案 1 :(得分:-1)

您可能需要在使用 user2 凭据从 **data.**table1 中选择 * 之前指定架构。