成都网站建设设计

将想法与焦点和您一起共享

管理postgresql的简单介绍

Postgresql数据库如何新建登录用户

我们使用Postgresql数据库的时候,默认都是用postgres用户进行数据操作。但是有时为了数据安全,我们会另外建一些账号给相关的工作人员使用。那么Postgresql数据库中如何新建登录用户呢?下面我给大家分享一下。

成都创新互联专注于企业全网整合营销推广、网站重做改版、汝州网站定制设计、自适应品牌网站建设、H5响应式网站成都做商城网站、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为汝州等各大城市提供网站开发制作服务。

工具/材料

pgAdmin4

01

首先打开Postgresql的管理工具pgAdmin4,接着双击服务器名称,如下图所示

02

在弹出的Connect to Server界面中输入postgres用户的密码,然后点击OK按钮,如下图所示

03

进入到数据库以后右键单击"登录/组角色"选项,选择Create下面的Login/Group Role选项,如下图所示

04

接下来会弹出创建登录用户的界面,我们先给用户起一个名字,尽量是英文,如下图所示

05

然后切换到Definition页卡,给登录用户设置一个登录密码,如下图所示,注意Connection limit要设置为-1

06

接着切换到Privileges界面,这里需要给登录用户设置一下操作权限,大家可以根据自己的需要设置即可,如下图所示

07

接下来切换到Membership页卡,给登录用户设置一个角色,这里我直接把管理员的角色给它了,如下图所示

08

上述设置完毕以后回到数据库主界面,我们就可以看到"登录/组角色"下面就已经有我们新建的登录用户了,如下图所示

09

最后我们断开当前的连接,用新建的用户进行登录,如果登录正常的话则代表一切设置成功,如下图所示

PostgreSQL的用户,角色跟权限管理怎么解决

Pg权限分为两部分,一部分是“系统权限”或者数据库用户的属性,可以授予role或user(两者区别在于login权限);一部分为数据库对象上的操作权限。对超级用户不做权限检查,其它走acl。对于数据库对象,开始只有所有者和超级用户可以做任何操作,其它走acl。在pg里,对acl模型做了简化,组和角色都是role,用户和角色的区别是角色没有login权限。

可以用下面的命令创建和删除角色,

CREATE ROLE name;

DROP ROLE name;

为了方便,也可以在 shell 命令上直接调用程序 createuser 和 dropuser,这些工具对相应命令提供了封装:

createuser name

dropuser name

数据库对象上的权限有:SELECT,INSERT, UPDATE,DELETE,RULE, REFERENCES,TRIGGER,CREATE, TEMPORARY,EXECUTE,和 USAGE等,具体见下面定义

typedefuint32AclMode; /* a bitmask of privilege bits */

#define ACL_INSERT (10) /* forrelations */

#defineACL_SELECT (11)

#defineACL_UPDATE (12)

#defineACL_DELETE (13)

#defineACL_TRUNCATE (14)

#defineACL_REFERENCES (15)

#defineACL_TRIGGER (16)

#defineACL_EXECUTE (17) /* for functions */

#defineACL_USAGE (18) /* for languages, namespaces, FDWs, and

* servers */

#defineACL_CREATE (19) /* for namespaces and databases */

#defineACL_CREATE_TEMP (110) /* for databases */

#defineACL_CONNECT (111) /* for databases */

#defineN_ACL_RIGHTS 12 /* 1plus the last 1

#defineACL_NO_RIGHTS 0

/*Currently, SELECT ... FOR UPDATE/FOR SHARE requires UPDATE privileges */

#defineACL_SELECT_FOR_UPDATE ACL_UPDATE

我们可以用特殊的名字 PUBLIC 把对象的权限赋予系统中的所有角色。 在权限声明的位置上写 ALL,表示把适用于该对象的所有权限都赋予目标角色。

beigang=# grantall on schema csm_ca to public;

GRANT

beigang=# revoke all on schema csm_ca frompublic;

REVOKE

beigang=#

每种对象的all权限定义如下:

/*

* Bitmasks defining "allrights" for each supported object type

*/

#defineACL_ALL_RIGHTS_COLUMN (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_REFERENCES)

#defineACL_ALL_RIGHTS_RELATION (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_DELETE|ACL_TRUNCATE|ACL_REFERENCES|ACL_TRIGGER)

#defineACL_ALL_RIGHTS_SEQUENCE (ACL_USAGE|ACL_SELECT|ACL_UPDATE)

#defineACL_ALL_RIGHTS_DATABASE (ACL_CREATE|ACL_CREATE_TEMP|ACL_CONNECT)

#define ACL_ALL_RIGHTS_FDW (ACL_USAGE)

#defineACL_ALL_RIGHTS_FOREIGN_SERVER (ACL_USAGE)

#defineACL_ALL_RIGHTS_FUNCTION (ACL_EXECUTE)

#defineACL_ALL_RIGHTS_LANGUAGE (ACL_USAGE)

#defineACL_ALL_RIGHTS_LARGEOBJECT (ACL_SELECT|ACL_UPDATE)

#defineACL_ALL_RIGHTS_NAMESPACE (ACL_USAGE|ACL_CREATE)

#defineACL_ALL_RIGHTS_TABLESPACE (ACL_CREATE)

用户的属性可参见下图:

视图 pg_roles提供访问数据库角色有关信息的接口。 它只是一个 pg_authid 表的公开可读部分的视图,把口令字段用空白填充了。

Table 42-39.pg_roles字段

名字

类型

引用

描述

rolname

name

角色名

rolsuper

bool

有超级用户权限的角色

rolcreaterole

bool

可以创建更多角色的角色

rolcreatedb

bool

可以创建数据库的角色

rolcatupdate

bool

可以直接更新系统表的角色。(除非这个字段为真,否则超级用户也不能干这个事情。)

rolcanlogin

bool

可以登录的角色,也就是说,这个角色可以给予初始化会话认证的标识符。

rolpassword

text

不是口令(总是 ********)

rolvaliduntil

timestamptz

口令失效日期(只用于口令认证);如果没有失效期,为 NULL

rolconfig

text[]

运行时配置变量的会话缺省

Windows系统中有哪些方法开启Postgresql服务

我们在使用Postgresql的时候,首先需要开启Postgresql服务。那么在Windows系统中有哪些方法开启Postgresql服务呢?下面我给大家分享一下。

工具/材料

任务管理器,服务面板,CMD命令行

服务面板开启

01

首先按Win+R组合键打开运行窗口,在输入框中输入services.msc命令,如下图所示

02

在出现的服务界面中我们找到postgresql的记录行,如下图所示,右键单击选择启动

03

当服务的状态显示为正在运行的时候则代表postgresql服务已经打开了,如下图所示

任务管理器开启

01

按住键盘上的Ctrl+Shift+ESC组合键,注意是同时按下,不是一个个按,如下图所示

02

在弹出的任务管理器窗口中切换到服务面板,找到postgresql服务,右键单击选择开始选项,如下图所示

命令行开启

01

找到所有程序下面的Windows系统,然后点击命令提示符,如下图所示

02

另外也可以直接打开运行界面输入CMD命令打开命令提示符界面,如下图所示

03

在命令提示符中通过net start命令来开启postgresql服务,如下图所示,注意服务名一定要写正确

Linux 下安装PostgreSQL 管理工具pgAdmin

操作系统: CentOS Linux release 7.5.1804 (Core)

sudo rpm -i

sudo yum install pgadmin4

/usr/pgadmin4/bin/setup-web.sh

输入登录的邮箱账号及登录密码。

按照安装提示完成配置即可。

然后开放端口80

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --reload

通过ip直接访问即可


新闻标题:管理postgresql的简单介绍
文章源于:http://chengdu.cdxwcx.cn/article/dscjdhe.html