【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. PostgreSql创建数据库,用户以及权限分配

    2024-07-12 18:30:01       29 阅读
  2. postgresql创建只读权限的用户

    2024-07-12 18:30:01       17 阅读
  3. ORA-01031: insufficient privileges

    2024-07-12 18:30:01       57 阅读
  4. PostgreSQL创建数据库、用户并进行权限分配

    2024-07-12 18:30:01       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 18:30:01       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 18:30:01       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 18:30:01       57 阅读
  4. Python语言-面向对象

    2024-07-12 18:30:01       68 阅读

热门阅读

  1. html转markdown nodejs实现

    2024-07-12 18:30:01       18 阅读
  2. 记一次nodeBB部署

    2024-07-12 18:30:01       23 阅读
  3. 使用Spring Boot实现分布式配置管理

    2024-07-12 18:30:01       16 阅读
  4. 快速上手文心一言:让创作更轻松

    2024-07-12 18:30:01       18 阅读
  5. 树状数组(Binary Indexed Tree, BIT)

    2024-07-12 18:30:01       19 阅读
  6. LeetCode 20. 有效的括号

    2024-07-12 18:30:01       17 阅读
  7. AI学习指南机器学习篇-聚类树的剪枝

    2024-07-12 18:30:01       17 阅读