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 @ 2020-05-12 10:07  duchaoqun  阅读(384)  评论(0编辑  收藏  举报