sql - 如何撤销PostgreSQL中特定字段的权限

标签 sql postgresql

我有一个像这样的表:

CREATE TABLE public.pagos
(
    condominio character varying(12) NOT NULL,
    id_unidad character varying(10) NOT NULL,
    fechapago date NOT NULL,
    montopago integer NOT NULL
)

用户:

CREATE USER user1 WITH PASSWORD 'user1';

我向其用户授予权限:

GRANT SELECT ON pagos TO user1;

如何撤销 user1 在表的特定字段(例如 montopago 字段)中的所有权限(在本例中仅选择)?

谢谢!

最佳答案

SQL 中的权限是附加的,因此您永远不能做出“对整个表授予选择权限,但从一个特定列撤销它”的异常(exception)情况。您需要做的是撤销您授予的全表权限并授予列权限:

REVOKE SELECT ON pagos FROM user1;
GRANT SELECT (condominio, id_unidad, fechapago) ON pagos TO user1;

关于sql - 如何撤销PostgreSQL中特定字段的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59675297/

相关文章:

c# - 有没有办法在运行时动态加载数据提供者?

sql - Django 的 Redshift DB 后端

mysql - 从 mysql 表中的同一列获取计数?

sql - 我应该在 PostgreSQL 中将 org.joda.time.YearMonth 存储为日期还是两列?

postgresql - 在 CSV 的 COPY 操作期间无法将破折号替换为 null

sql - 在 Postgres 中使用 max 和 group by 获取第二个属性

ruby-on-rails - 如何在 Rails 中对非英文字符进行不区分大小写的搜索?

mysql - 如何获取列 db_select 中的所有项目

mysql - 如何重新排列表以获取 Mysql 中现有组合的列表?

SQLite 字符串包含其他字符串查询