postgresql用户管理

postgresql用户管理:

默认用户:

postgres安装完成后,会自动在操作系统和postgres数据库中分别创建一个名为postgres的用户以及一个同样名为postgres的数据库。

1、组角色:

一个组角色可以看作一组数据库用户。组角色可以拥有数据库对象(比如表),并可以把这些对象上的权限赋予其他角色,以控制谁拥有访问哪些对象的权限。

--创建角色:

create role role_emp;

--查看系统中的角色,如:

select rolname from pg_roles;

--修改组角色名称的语法:

alter role  组角色名称  rename  to  新的组角色名称;

--删除组角色

drop role  组角色的名称;

2、角色的各种权限

①:登录权限:login

--创建具有登录权限的组角色,如:

create  role  zhang  login;

②:superuser(超级用户)

superuser超级用户拥有对数据库操作的最高权限,可以完成对数据库的所有权限检查。

--创建数据库超级用户,如:

create role  zhang superuser;

注意:只有超级用户才能有权限创建超级用户。

③:createdb创建数据库

--创建具有创建数据库权限的组角色,如

create role  zhang createdb;

④:createrole创建角色

--创建具有创建角色权限的角色,如:

create role zhang createrole;

⑤:口令

在客户认证方法要求与数据库建立连接时,需要口令权限。常见的认证方法包括:password,md5,crypt。

--创建具有口令权限的角色,如:

create role zhang password '123456';

3、账户管理

方式1:在系统命令行中使用createuser命令中创建

createuser username ;如[[email protected] ~]$ createuser zhangfeng

方式2:在PostgresSQL命令行中使用CREATE ROLE指令创建

CREATE ROLE rolename;

方式3:在PostgresSQL命令行中使用CREATE USER指令创建

CREATE USER username;

注意:CREATE USER和CREATE ROLE的区别在于,CREATE USER指令创建的用户默认是有登录权限的,而CREATE ROLE没有。

例子:创建用户zhangfeng 密码123456,并且有创建数据库权限和创建角色权限,如:

create user zhangfeng password '123456' createdb createrole;

--删除用户

drop user zhangfeng;

--修改用户密码

alter user zhangfeng  password '123456';

3、组角色和用户权限管理

--对组角色授权:

alter role  角色名  权限1,权限2,,,;

如:给ro_emp角色添加创建数据表和创建角色的权限:

alter role  ro_emp  createdb createrole;

--对用户授权

alter  user  用户名  权限1,权限2,,,;

如:给用户添加创建数据表和创建角色权限,

alter user zhangfeng  createdb createrole;

--收回组角色权限

将role_emp角色的创建数据表和创建角色权限收回,如:

alter role role_emp  nocreatedb  nocreaterole;

--收回用户权限

alter  user  zhangfeng  nocreatedb nocreaterole;

4、数据库权限管理

--修改数据库的拥有者

alter  database  数据库名称  owner  to  拥有者名字;

如:

alter database testdb owner to zhangfeng;

--增加用户的数据表权限

grant 权限  on 数据表  to 用户名;

如:

grant update  on  emp  to zhangfeng;

原文地址:http://blog.51cto.com/fengfeng688/2153052

时间: 2024-07-28 16:06:46

postgresql用户管理的相关文章

Postgresql 用户管理

一, 设置超级用户密码 1  修改 pg_hba.conf 使超级用户postgres 可以登录到数据库中 host all all 127.0.0.1/32 trust 2 修改 postgres 密码 $psql -U postgres -h 127.0.0.1 psql (9.6.4) Type "help" for help. postgres=# ALTER USER postgres WITH PASSWORD 'new password';ALTER ROLE 3 修改

微软推Azure Data Studio助PostgreSQL使用者管理

微软为帮助PostgreSQL用户管理数据库,释出开源编辑器Azure Data Studio,让不习惯使用命令行工具psql的用户,可以选择使用图形化接口工具管理数据库,Azure Data Studio也整合了终端机,开发者在需要的时候还是能使用psql.Azure Data Studio是一个专注于数据开发的跨平台编辑器,可用于Linux.MacOS和Windows,支持多数Visual Studio Code,像是Python.R和Kubernetes,微软提到,当使用者的使用情境偏向处

Postgresql的用户管理二

五.给已存在用户赋予各种权限 使用ALTER ROLE 命令. ALTER ROLE 语法: ALTER ROLE name [ [ WITH ] option [ ... ] ] where option can be: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | CREATEUSER | NOCREATEUSER | INHERIT | NOINHERIT | LOGIN | NO

广州postgresql用户会技术交流会小记 2015-9-19

广州postgresql用户会技术交流会小记  2015-9-19 今天去了广州postgresql用户会组织的技术交流会 分别有两个session 第一个讲师介绍了他公司使用postgresql -X2的情况 第二个讲师介绍了postgresql里面的一些执行计划分析 我个人比较关注第一个session,因为涉及到真正的应用案例 网上有对postgresql -X2的简短介绍,我先转载过来 转载:http://francs3.blog.163.com/blog/static/405767272

linux用户管理命令之NBA版

用户管理命令之NBA版 本文纯属扯淡,如有不严谨之处,还请海涵. 1 groupadd 作用:创建一个属组 格式:groupadd [选项] 属组名 选项:     -:选项为空 创建新属组,    -g:指定组GID,默认是GID+1 实例 1.1 添加属组team,指定组ID为1111     groupadd -g 1111 team 2 groupmod 作用:修改属组信息 格式:groupmod [选项] 属组名 选项:     -g:GID 修改属组GID -n:修改属组名 实例 2

Linux之用户管理与权限控制(上)

早期Linux系统设计为了能够实现多用户.多进程高效的利用服务器资源,在此种情况下,为了能够保证用户与用户之间的文件不被随意的访问及修改.删除等操作,用户.组的管理能在某种程序上实现管理用户或批量管理用户.由于Linux的设计哲学思想『一切皆文件』,用户对设备的访问就是对文件的访问. 一.用户与组 Linux下有三类用户 1.超级用户: root 具有操作系统的一切权限 UID 值为0 2.普通用户: 普通用户具有操作系统有限的权限, UID值 500+ 3.伪用户: 是为了方便系统管理, 满足

zabbix用户管理

zabbix用户管理,主要包括用户增删改查.用户报警媒介管理.用户权限管理. 安装完zabbix后,已经自带了两个用户Admin和Guests 超级管理员默认账号:Admin,密码:zabbix,这是一个超级管理员. Guests用户,使用guest账号,密码为空,只能看到zabbix后台,没有具体内容. 上一节,添加了一个主机群组Oracle Servers,监控了一台主机Server_A,下面新增一个用户,作为该主机群组的管理员. 要添加一个用户,有三类属性要填写. 要填写属性 描述 用户信

linux的用户管理

一.用户登录验证的过程 1.先找寻/etc/passwd里面是否有输入的账号?如果没有则跳出,如果有的话则将该账号对应的UID与GID(在/etc/group)读出来,另外,该账号的家目录与shell设定也一并读出. 2.再来则是核对密码表,这时linux会进入/etc/shadow里面找出有对应的账号与UID,然后核对下输入的密码与文件中的密码是否一致. 二.涉及到的文件 用户 /etc/passwd 账号名称:密码:UID:GID:用户信息说明:家目录:SHELL /etc/shadow 账

Linux之用户管理

Linux系统是个多用户系统,它能做到不同的用户能同时访问不同的文件,但是又不可能让每一个用户都随意可随意访问修改别的用户的数据,因此一定要有文件权限控制机制.Linux系统的权限控制机制和Windows的权限控制机制有着很大的差别.Linux的文件或目录被一个用户拥有时,这个用户称为文件的拥有者(或文件属主),同时文件还被指定的用户组所拥有(文件属组).一个用户可以是不同组的成员,这可以由管理员控制.文件的权限由权限标志来决定,权限标志决定了文件的拥有者.文件的所属组.其他用户对文件访问的权限