【postgresql】权限(Privileges)

权限(privileges)是决定用户或角色可以对数据库对象(如表、视图、序列和函数)执行哪些操作的许可。权限对于维护安全性和控制对数据的访问至关重要。

权限分类

在 PostgreSQL 中,权限分为以下几种:

  • SELECT:允许从表或视图中读取数据。

  • INSERT:允许向表中插入新数据。

  • UPDATE:允许更新表中的数据。

  • DELETE:允许从表中删除数据。

  • TRUNCATE:允许截断表,即删除表中的所有数据。

  • REFERENCES:允许创建外键约束,引用其他表。

  • TRIGGER:允许在表上创建触发器。

  • CREATE:允许在数据库或模式中创建新对象。

  • CONNECT:允许连接到数据库。

  • TEMPORARY:允许在数据库中创建临时表。

  • EXECUTE:允许执行函数或存储过程。

授予和撤销权限

使用 GRANT 和 REVOKE 语句来授予和撤销权限。

授予权限
GRANT privilege_list ON object_name TO { role_name | PUBLIC | CURRENT_USER | SESSION_USER };


GRANT SELECT, INSERT ON my_table TO my_user;
撤销权限
REVOKE privilege_list ON object_name FROM { role_name | PUBLIC | CURRENT_USER | SESSION_USER };


REVOKE INSERT ON my_table FROM my_user;

查看权限

使用 \dp 或 \z 命令在 psql 中查看对象的权限,或者使用 psql 的 \dp 命令。

\dp employees

默认权限

PostgreSQL 还允许你设置默认权限(default privileges),这样在创建新对象时会自动应用这些权限。

设置默认权限,使得所有新创建的表都自动授予 dba_user 读取权限:

ALTER DEFAULT PRIVILEGES FOR ROLE my_role GRANT SELECT ON TABLES TO dba_user;




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值