



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验名称:PostgreSQL权限与用户管理学习目的了解以及熟悉postgreSql权限与用户管理实验环境实验环境的操作系统的版本:Ubuntu22.04安装软件:postgresql14pgadmin4前置知识PostgreSQL的用户管理PostgreSQL使用角色的概念管理数据库访问权限。角色是一系列相关权限的集合。为了管理方便,通常把一系列相关的数据库权限赋给一个角色,如果哪个用户需要这些权限,就把角色赋给相应的用户。可以简单理解为用户组和用户的关系。在PostgreSQL中,角色与用户是没有区别的,一个用户也是角色。用户和角色在整个数据库实例中是全局的,在同一个实例中的不同数据库中,看到的用户都是相同的。安装初始化的时候有一个预定义的超级用户,这个用户的名称与初始化该数据库的操作系统用户名相同。一般都叫“postgres”。创建用户#创建角色CREATEROLEname[[WITH]option[...]]#创建用户CREATEUSERname[[WITH]option[...]]option选项SUPERUSER|NOSUPERUSER:创建出来的用户是否为超级用户CREATEDB|NOCREATEDB:指定创建出来的用户是否有创建数据库的权限CREATEROLE|NOCREATEROLE:指定创建出来的用户是否有创建其他角色权限CREATEUSER|NOCREATEUSER:指定创建出来的用户是否有创建其它用户的权限INHERIT|NOINHERIT:创建的用户拥有某个或几个角色的权限LOGIN|NOLOGIN:创建出来的用户是否有连接数据库的权限CONNECTIONLIMITconnlimit:用户可以使用的并发连接的数量,默认为“-1”,表示没有限制[ENCRYPTED|UNENCRYPTED]PASSWORD‘password’:存储的用户口令是否加密VALIDUNTIL‘timestamp’:密码失效时间,不指定的话永久有效INROLErole_name[…]:指定用户成为哪些角色的成员INGROUProle_name[…]:等同于INROLErome_nameROLErole_name[…]:role_name将成为这个新建的角色的成员ADMINrole_name[…]:role_name将有这个新建角色WITHADMINOPTION权限USERrole_name:与ROLE相同SYSIDuid:用于SQL兼容PostgreSQLPRIVILEGES(权限)无论何时创建数据库对象,都会为其分配一个所有者,所有者通常是执行create语句的人。对于大多数类型的对象,初始状态是只有所有者(或超级用户)才能修改或删除对象。要允许其他角色或用户使用它,必须为该用户设置权限。在PostgreSQL中,权限分为以下几种:SELECTINSERTUPDATEDELETETRUNCATEREFERENCESTRIGGERCREATECONNECTTEMPORARYEXECUTEUSAGE根据对象的类型(表、函数等),将指定权限应用于该对象。要向用户分配权限,可以使用GRANT命令。GRANT语法GRANT命令的基本语法如下:GRANTprivilege[,...]ONobject[,...]TO{PUBLIC|GROUPgroup|username}privilege−值可以为:SELECT,INSERT,UPDATE,DELETE,RULE,ALL。object−要授予访问权限的对象名称。可能的对象有:table,view,sequence。PUBLIC−表示所有用户。GROUPgroup−为用户组授予权限。username−要授予权限的用户名。PUBLIC是代表所有用户的简短形式。另外,我们可以使用REVOKE命令取消权限,REVOKE语法:REVOKEprivilege[,...]ONobject[,...]FROM{PUBLIC|GROUPgroupname|username}实验步骤1.PostgreSQL的用户管理例子:#创建用户并设置密码postgres=#createusertestwithpassword'test';CREATEROLE#创建用户、设置密码,2023年前有效postgres=#createuseradminwithpassword'admin'validuntil'2023-01-01';CREATEROLE查看用户输入”\du”或”\dg”即postgres=#\du或postgres=#\dg查看用户权限postgres=#select*frompg_roles可以查看所有的用户权限postgres=#select*frominformation_schema.table_privilegeswheregrantee='postgres';查看指定用户的表权限删除用户postgres=#dropuserpostgres;DROPROLE删除postgres用户修改用户密码postgres=#alteruserpostgreswithpassword'testuser';ALTERROLE修改用户postgres的密码为testuser2.PostgreSQLPRIVILEGES(权限)为了理解权限,创建一个用户:runoobdb=#CREATEUSERrunoobWITHPASSWORD'password';CREATEROLE信息CREATEROLE表示创建了一个用户"runoob"。创建COMPANY表,数据内容如下:id|name|age|address|salary----+-------+-----+-----------+--------1|Paul|32|California|200002|Allen|25|Texas|150003|Teddy|23|Norway|200004|Mark|25|Rich-Mond|650005|David|27|Texas|850006|Kim|22|South-Hall|450007|James|24|Houston|10000(7rows)现在给用户"runoob"分配权限:Postgres=#GRANTALLONCOMPANYTOrunoob;GRANT信息GRANT表示所有权限已经分配给了"runoob"。下面撤销用户"runoob"的权限:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 瓦斯自救器管理制度
- 男装店店长管理制度
- 矿山任务票管理制度
- 小学低年级学生良好生活习惯养成与学校心理健康教育创新实践研究论文
- 中国医药级氧化镁行业市场前景预测及投资价值评估分析报告
- 节水措施与管理制度
- 关于房屋贷款保证保险合同纠纷的若干法律问题探讨
- 视频监控升级改造设计方案
- 建筑施工特种作业-建筑焊工真题库-7
- 入学面试常识题目及答案
- 电子物证专业考试复习题库(含答案)
- 国家开放大学02150-计算机网络(本)期末复习题及参考答案
- 广西2022年广西农村信用社(农村商业银行农村合作银行)管理人员及业务骨干招聘考试参考题库含答案详解
- 国开2023年春《理工英语3》机考网考期末复习资料参考答案
- 2023年考研英语大纲样题
- 重庆.住宅物业单位服务等级标准
- 全国工会财务知识竞赛题库附答案
- CIE-15-2004-Colorimetry原版完整文件
- 四年级下聪明小屋
- 植物精油提取工艺技术
- 【企业薪酬管理研究国内外文献综述4400字】
评论
0/150
提交评论