PG - User & Role

Summary

  • 使用 create user 创建的用户有 login 权限;
  • 使用 create role 创建的用户默认没有 login 权限;

ROLE

-- 查询所有的 role
select * from pg_roles order by rolname;
-- 创建一个 role 仅有 rolinhert 权限,不能进行登录。
create role test_role1;
-- 删掉一个 role
drop role test_role1;
-- 修改一个 role
alter role test_role1 rename to test_role2;
-- rolcanlogin 权限,只有当存在 login 权限的时候才能进行登录。
create role test_role2 login; -- 添加 rolcanlogin 权限
alter role test_role2 nologin; -- 删除 rolcanlogin 权限
-- rolsuper 权限,数据库的最高权限
create role test_role2 superuser;
alter role test_role2 nosuperuser;

所有的权限

  • rolsuper 超级用户
  • rolinherit
  • rolcreaterole 创建role
  • rolcreatedb 创建数据库
  • rolcanlogin 登录
  • rolreplication
  • rolconnlimit
  • rolpassword
  • rolvaliduntil
  • rolbypassrls
  • rolconfig

password

create user postgres superuser;
create role test_role2 login password '123456';

数据库权限

-- 修改数据库所有者。
alter database dbName owner to userName;
-- 默认情况下,只有数据库的所有者可以对其中的数据表进行操作。
grant 权限 on 数据表 to 用户名称;

表权限

alter table table_1 owner to testuser_1;
posted @   duchaoqun  阅读(397)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示