postgresql入门理解

2020-06-17 00:00:00 创建 用户 数据库 对象 角色

1、安装

安装请自行google,这里提到需要注意的一点是,pgsql可以由任何非特权用户安装,并不需要超级用户(root)的权限

2、架构基础

我们需要知道的是,pgsql是c/s的架构,也就是客户端/服务器的模型,一次pgsql会话由一个服务器进程(postgres)和那些需要执行数据库操作的用户的客户端应用组成。c和s可以在不同的主机上,他们是通过TCP/IP网络联接通信的

这里需要注意的是,pgsql的服务器可以处理来自客户端的多个并发请求,它会为每个连接启用(forks)一个新的进程

3、数据库角色

我是次使用这个数据库,学习之初,不能理解的就是角色与数据库之间的关系。这里结合pgsql的官方文档稍微进行个人分析。

pgsql使用角色的概念管理数据库访问权限。一个角色可以被看成是一个数据库用户或者是一个数据库用户组,这取决于角色被怎样设置。角色可以拥有数据库对象(例如,表和函数)并且能够把那些对象上的权限赋予给其他角色来控制谁能访问哪些对象。此外,还可以把一个角色中的成员资格授予给另一个角色,这样允许成员角色使用被赋予给另一个角色的权限。

我对这段话的实际操作体验就是,你必须要在超级用户postgres下面创建角色,然后赋予它相对应的操作权限,比方说常用的创建数据库,这样这个新创建的角色才能够创建新的db

3.1、默认角色

为了引导数据库系统,一个刚刚被初始化好的pgsql系统会给我们自动创建一个角色。这个角色总是一个"superuser",并且会有一个同名的数据库postgres。为了创建更多角色,你必须以这个角色先登录,也就是我上面所说的,请看下面的操作

psql -U postgres #连接数据库要以角色登录
或者直接使用
psql # 这样会默认用postgres的角色登录

相关文章