Postgresql数据库角色创建登录详解
目录
- 角色
- 创建可登录角色
- 创建组角色
角色
PG中使用角色(role)机制来解决用户身份认证。拥有登陆数据库权限的角色称之为可登录角色(login role)。一个角色可以继承其他角色的权限从而成为其成员角色;拥有成员角色的角色称为组角色。(一个组角色可以是另一个组角色的成员角色,并且这种角色之间的继承关系可以无限多层,但除非你非常有把握,否则别这么折腾自己)拥有登录权限的组角色称为可登录的组角色。然而,基于安全性的考虑,管理员呢一般是不会给组角色登陆权限的。一个角色还可以被授权于超级用户权限,但是此种授权要谨慎。
PG在最近的版本已经不再使用“用户”和“组”这两个术语,别人可能还会用,你就记住,用户代表可登录角色,组代表组角色就好。当然,PG为了保持前向兼容,create user和create group 这两个命令在当前版本中也是支持的,但与时俱进嘛,最好不要使用他们,请使用create role。
创建可登录角色
在PG安装的过程中的数据初始化阶段,系统是会默认创建一个名为postgres的可登录角色(同时会创建一个名为postgres的同名databases)。你可以通过前面文章介绍过的ident或者peer身份验证机制来将操作系统的root用户映射到数据库的postgres角色,这样就可以实现root用户免密登陆,当然或者通过设置trust模式的效果也是一样。数据库安装完成的第一件事就是用psql或者pgadmin工具以postgres角色身份登陆,然后创建其他已经规划好的角色。
相关推荐
-
PostgreSQL教程(十二):角色和权限管理介绍
PostgreSQL是通过角色来管理数据库访问权限的,我们可以将一个角色看成是一个数据库用户,或者一组数据库用户.角色可以拥有数据库对象,如表.索引,也可以把这些对象上的权限赋予其它角色,以控制哪些用户对哪些对象拥有哪些权限. 一.数据库角色: 1. 创建角色: 复制代码 代码如下: CREATE ROLE role_name; 2. 删除角色: 复制代码 代码如下: DROP ROLE role_name; 3. 查询角色: 检查系统表pg_role,如: 复制代码 代码如
-
PostgreSQL 角色与用户管理介绍
一.角色与用户的区别 角色就相当于岗位:角色可以是经理,助理.用户就是具体的人:比如陈XX经理,朱XX助理,王XX助理.在PostgreSQL 里没有区分用户和角色的概念,"CREATE USER" 为 "CREATE ROLE" 的别名,这两个命令几乎是完全相同的,唯一的区别是"CREATE USER" 命令创建的用户默认带有LOGIN属性,而"CREATE ROLE" 命令创建的用户默认不带LOGIN属性(CREATE U
-
postgresql13主从搭建Ubuntu
目录 数据库安装基本设置 设置环境变量 主库创建流复制的用户 从库设置+从主库进行数据流复制 从库进行数据流复制之后,重启从库,主从模式正式工作 查看主从运行状态 主备切换 备->主 主->备 数据库安装基本设置 先安装完数据库以后,安装路径如下: 数据库安装完毕以后, 服务的安装路径为:/usr/lib/postgresql/13/bin/ 数据路径为:/var/lib/postgresql/13/main/ 配置文件路径为:/etc/postgresql/13/main/ pg_hba.c
-
PostgreSql JDBC事务操作方法详解
目录 JDBC事务相关方法简介 禁用自动提交模式 提交事务 回滚事务 PostgreSQL JDBC 事务示例 JDBC事务相关方法简介 本文将借助示例,简单讲解下JDBC操作Pg事务的流程. 首先来简单讲解下事务的定义:为了确保两个(多个)数据库操作都生效,或者两个操作都不发生,可以使用事务.根据定义,事务是作为单个单元执行的一组语句.换句话说,要么所有语句都成功执行,要么没有执行. 禁用自动提交模式 当建立与PostgreSQL数据库的连接时,它处于自动提交模式.这意味着每个SQL语句都被视
-
PostgreSQL 数组类型操作使用及特点详解
目录 PostgreSQL 数组类型使用详解 下面列出一些PostgreSQL的特点 数组类型的基本操作 1 查询 2 插入数据 3 条件查询 4 更新 4.1 更新标签的名称 4.2 添加一个标签 5 删除 总结 PostgreSQL 数组类型使用详解 可能大家对 PostgreSQL这个关系型数据库不太熟悉,因为大部分人最熟悉的,公司用的最多的是 MySQL 我们先对PostgreSQL数据库 (下面简称 PG)简单的介绍一下,以后有机会,再单独写一篇专门介绍pgSql的文章 The Wor
-
Postgresql源码分析returns setof函数oracle管道pipelined
目录 引言 [功能] [代码] [实用函数] 1 :管道函数是什么,应用于什么场景 2 return next实现 具体处理函数:exec_stmt_return_next 1 初始化tuple store 场景一:return next返回var类型 场景二:return next返回record类型 场景三:return next返回row类型 3 用例 引言 [功能] Oracle的return pipelined管道函数可以使一次返回的集合类型,变为 逐条返回pipe row(集合中的一
-
Postgresql数据库角色创建登录详解
目录 角色 创建可登录角色 创建组角色 角色 PG中使用角色(role)机制来解决用户身份认证.拥有登陆数据库权限的角色称之为可登录角色(login role).一个角色可以继承其他角色的权限从而成为其成员角色:拥有成员角色的角色称为组角色.(一个组角色可以是另一个组角色的成员角色,并且这种角色之间的继承关系可以无限多层,但除非你非常有把握,否则别这么折腾自己)拥有登录权限的组角色称为可登录的组角色.然而,基于安全性的考虑,管理员呢一般是不会给组角色登陆权限的.一个角色还可以被授权于超级用户权限
-
PHP连接及操作PostgreSQL数据库的方法详解
本文实例讲述了PHP连接及操作PostgreSQL数据库的方法.分享给大家供大家参考,具体如下: PostgreSQL扩展在默认情况下在最新版本的PHP 5.3.x中是启用的. 可以在编译时使用--without-pgsql来禁用它.仍然可以使用yum命令来安装PHP-PostgreSQL接口: yum install php-pgsql 在开始使用PHP连接PostgreSQL接口之前,请先在PostgreSQL安装目录中找到pg_hba.conf文件,并添加以下行: # IPv4 local
-
在Ubuntu中安装Postgresql数据库的步骤详解
介绍 众所周知PostgreSQL 是自由的对象-关系型数据库服务器(数据库管理系统),在ubuntu下安装Postgresql是一件非常容易的事情,下面话不多说了,来跟着小编来一起看看详细的介绍吧. 安装方法如下: 1.安装Postgresql的服务器以及客户端: sudo apt-get install postgresql postgresql-client 2.通常情况下,安装完成以后Postgresql已经一定启动了,下面是一些常见的操作指令: # 查看状态 sudo /etc/ini
-
python连接PostgreSQL数据库的过程详解
1. 常用模块 # 连接数据库 connect()函数创建一个新的数据库连接对话并返回一个新的连接实例对象 PG_CONF_123 = { 'user':'emma', 'port':123, 'host':'192.168.1.123', 'password':'emma', 'database':'dbname'} conn = psycopg2.connect(**PG_CONF_123) # 打开一个操作整个数据库的光标 连接对象可以创建光标用来执行SQL语句 cur = conn.cu
-
MySql安装及登录详解
检查Linux系统中是否已经安装了MySQL sudo service mysql start //尝试打开MySQL服务 提示: mysql: unrecongized service //说明系统没有MySQL 则需要 //安装MySQL服务器.核心程序 sudo apt-get install mysql-server //安装MySQL客户端 sudo apt-get install mysql-client 验证 sudo netstat -tap|grep mysql(注意前面是ne
-
在windows上安装不同(两个)版本的Mysql数据库的教程详解
1.起因: 需要导入一个sql文件,发现死活导不进去.当执行到这一句时,就有问题.经过一番搜索,原来是我的数据库版本(原先Mysql版本5.5)低了,而支持该语句的版本应该是至少要5.7.那我索性就去Mysql官网去下载了个最新版本的(8.0.15). `create_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP 2.过程: 那么问题来了:有两个解决方案.1.直接卸载掉5.5版本的Mysql,直接安装8.0.15版本的.2.在不卸
-
centos7.2下安装mysql5.7数据库的命令详解
服务器上的mysql安装了一个8.0.12版本的,本地的是一个5.7版本的,今天删除了重新安装的5.7版本的,下面是所有的名命令 跟着走就会安装上了. 配置源 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm yum localinstall mysql57-community-release-el7-8.noarch.rpm # yum repolist enabled | grep "mysql.
-
CentOS7安装调试Mysql数据库的步骤详解【实例】
本实例要求下载并安装调试Mysql数据库. 第一步:下载Mysql数据库安装所需的全部软件. 我已提前下载好数据库软件,直接在服务器下载即可,如下: 通过scp直接下载: [root@agt20 ~]# scp root@192.168.122.10:/root/mysql* /root/ 软件如下图: [root@agt20 ~]# ls mysql-* mysql-5.7.17.tar mysql-community-client-5.7.17-1.el7.x86_64.rpm mysql-
-
Linux手动部署远程的mysql数据库的方法详解
一.安装mysql 运行以下命令更新YUM源. rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm 运行以下命令安装MySQL. yum -y install mysql-community-server 运行以下命令查看MySQL版本号. mysql -V 返回结果如下,表示MySQL安装成功. mysql Ver 14.14 Distrib 5.7.31, for Linux (x86_
-
PostgreSQL copy 命令教程详解
报文介绍PostgreSQL copy 命令,通过示例展示把查询结果导出到csv文件,导入数据文件至postgresql. 1. copy命令介绍 copy命令用于在postgreSql表和标准文件系统直接传输数据.copy命令让PostgreSQL 服务器直接读写文件,因此文件必须让PostgreSQL 用户能够访问到.该命令使用的文件是数据库服务器直接读写的文件,不是客户端应用的文件,因此必须位于服务器本地或被直接访问的文件,而不是客户端位置. copy to 命令拷贝表内容至文件,也可以拷
随机推荐
- SWT(JFace)体验之ViewForm的使用
- Go语言里的结构体文法实例分析
- GOLANG版的冒泡排序和快速排序分享
- 基于jquery实现瀑布流布局
- 实例解析iOS中音乐播放器应用开发的基本要点
- 使用maven运行Java Main的三种方法解析
- iOS实现APP程序内部打开APP的AppStore页面
- Oracle最大日期获取方法
- Oracle删除当前用户下所有表的方法适用于有或没有删除权限
- Laravel学习教程之IOC容器的介绍与用例
- RegexOptions.IgnoreCase正则表达式替换,忽略大小写
- Android复选框对话框用法实例简析
- php中time()与$_SERVER[REQUEST_TIME]用法区别
- 详谈js使用in和hasOwnProperty获取对象属性的区别
- JS实现网页上随滚动条滚动的层效果代码
- php实现读取内存顺序号
- python模拟登录百度代码分享(获取百度贴吧等级)
- jquery实现输入框实时输入触发事件代码
- jQuery操作之效果详解
- java方法重载示例