撤销 postgresql 中的特定列
Revoke particular columns in postgresql
我试过使用文档 here 但似乎没有帮助。如果可以请举个例子。
revoke select (column1, column2) on table from specific_user
没有成功。
Access privileges
Schema | Name | Type | Access privileges | Column privileges | Policies
--------+-------+-------+---------------------------+-------------------+----------
public | users | table | himanshu=arwdDxt/himanshu+| |
| | | reports_user=r/himanshu | |
(1 row)
问题是SQL中的权限是累加的,列权限和table权限是不一样的
撤销您之前未授予的权限无效,并且在 table 上授予 SELECT
不同于在所有列上授予 SELECT
。
您应该撤销对 table 的 SELECT
权限,并在除您要拒绝访问的列之外的所有列上授予 SELECT
:
REVOKE SELECT ON "table" FROM specific_user;
GRANT SELECT (<all columns except "column1" and "column2">)
ON "table" TO specific_user;
用\z "table"
检查结果。
我试过使用文档 here 但似乎没有帮助。如果可以请举个例子。
revoke select (column1, column2) on table from specific_user
没有成功。
Access privileges
Schema | Name | Type | Access privileges | Column privileges | Policies
--------+-------+-------+---------------------------+-------------------+----------
public | users | table | himanshu=arwdDxt/himanshu+| |
| | | reports_user=r/himanshu | |
(1 row)
问题是SQL中的权限是累加的,列权限和table权限是不一样的
撤销您之前未授予的权限无效,并且在 table 上授予 SELECT
不同于在所有列上授予 SELECT
。
您应该撤销对 table 的 SELECT
权限,并在除您要拒绝访问的列之外的所有列上授予 SELECT
:
REVOKE SELECT ON "table" FROM specific_user;
GRANT SELECT (<all columns except "column1" and "column2">)
ON "table" TO specific_user;
用\z "table"
检查结果。