postgresql数据库对象管理之非模式对象

本文介绍了PostgreSQL中的非模式对象,包括用户、角色及权限管理,详细阐述了如何创建用户、角色,授权与回收权限的步骤。此外,还讨论了表空间的创建和管理,包括设置默认表空间以及将表创建到指定表空间的操作。
摘要由CSDN通过智能技术生成

                                                                                         数据库对象管理之非模式对象

数据库对象:表,索引,视图,图表,缺省值,规则,触发器,语法等。所有在数据库中的一切,都可以被称为数据库对象。

按照一般划分,数据库对象分为模式对象和非模式对象

模式对象:特定数据库对象的集合。如:表、索引等。

非模式对象:其他数据库对象。如用户、权限、表空间等

一非模式对象及相关

1用户与角色

(1)用户(user):用户用来访问和管理数据库,具有一系列的权限,如登陆、建表、建索引等。

(2)角色(role):和用户相同,唯一的区别是默认无法登陆,通常作为权限角色组。

create role testrole1;//角色,不可登陆

create user testuser1; //用户,可登陆

select * from pg_roles;

select * from pg_user;

select * from  pg_authid;//表中rolcanlogin决定是否可以登录

修改用户testuser1不可登陆

update pg_authid set  rolcanlogin='f' where rolname='testuser1';

修改用户testuser1可登陆

ALTER ROLE testuser1 WITH LOGIN;

(3)角色组:便于权限授予控制,可以把各种权限统一授予给某个角色组,再把角色组授予给特定用户。

通过\h create user和\h create role来对比

查看数据库用户:

\du   或者  select * from pg_user;

            select * from pg_shadow;   // 需要dba权限,显示密码

创建用户:\h create user    (也可通过外部命令创建)

     create user test001 with password '123456';// 密码加密

     create user test002 with unencrypted password '123456';// 密码不加密

修改用户:\h alter user

           Alter user test001  with password '654321';//修改密码

删除用户:drop user test001;    --删除用户之前需要删除所属他的表和schema

2权限管理

少部分权限:不会级联回收。只能由superuser去回收。

部分权限:用户对其他用户的数据对象操作的权限。会级联回收。

级联授权:A用户授权B用户可以使用with grant option参数指定级联权限。

级联回收:A用户给了B用户某个权限,而B用户又将该权限赋予C用户。当A收回给B用户权限的时候,会

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值