PostgreSQL数据库创建只读用户总结
好久没有弄,有点忘了,今天有客户问这个问题,发现几个SQL还解决不了,于是总结一下:
--以超级用户登录数据库,创建用户: postgres=# create user test_read_only password 'test_read_only'; CREATE ROLE --设置为只读的transaction: postgres=# alter user test_read_only set default_transaction_read_only=on; ALTER ROLE --默认在postgres数据库的public模式下的对象是可以访问的: --如果要访问别的schema的表,则需要两步: --首先要有使用schema的权限: postgres=# grant usage on schema test to test_read_only; --然后加所有表的只读权限: postgres=# grant select on all tables in schema public to test_read_only; GRANT --如果不想给所有表的查询权限,则单独给某个表的查询权限: postgres=# grant select on table test to test_read_only; GRANT --如果要在别的数据库访问,则先要用postgres(超级用户登录),然后\c到对应的数据库,执行下面的命令,将对应的schema的表查询权限给这个用户: postgres=# \c test You are now connected to database "test" as user "postgres". --test数据库的public模式的usage权限是默认就有的,只需要添加表的只读权限即可: test=# grant select on all tables in schema public to test_read_only; GRANT --如果是将某个模式下的所有表的只读权限都给了某个用户,当新建表的时候,该用户仍然没有任何权限,这时,需要手动添加,或者修改模式的属性: test=# alter default privileges in schema public grant select on tables to test_read_only; ALTER DEFAULT PRIVILEGES --这样即使是该模式中新加的表,test_read_only用户都有只读权限。
PostgreSQL数据库创建只读用户总结的更多相关文章
- Oracle数据库创建只读用户
创建一个只读用户user2,只能查询管理员用户user1下的表,不能增删改. 操作环境:PL/SQL Developer 1.用管理员用户user1登录,创建用户user2.并授权 --创建用户use ...
- Azure SQL Database (25) Azure SQL Database创建只读用户
<Windows Azure Platform 系列文章目录> 本文将介绍如何在Azure SQL Database创建只读用户. 请先按照笔者之前的文章:Azure SQL Databa ...
- 修改PostgreSQL数据库的默认用户postgres的密码
有时候,忘记了postgresql 安装时默认用户postgres 的密码,怎么办呢? linux shell命令下面输入: sudo -u postgres psql (这样就可以直接登录进pos ...
- postgresql数据库创建、修改、删除
一.数据库创建 语法: Command: CREATE DATABASEDescription: create a new databaseSyntax:CREATE DATABASE nam ...
- 修改PostgreSQL数据库的默认用户postgres的密码 并新建用户
1.忘记了postgresql 安装时默认用户postgres 的密码,怎么办呢? linux shell命令下面输入: sudo -u postgres psql (这样就可以直接登录进postg ...
- mysql数据库,创建只读用户
数据库当前只有一个root用户,需要创建一个只读帐户给其他使用,因使用者是使用数据库管理工具在其他主机访问,所以还要开户远程访问权限,操作步骤如下. 1. 使用现有的root用户登录到Mysql. m ...
- PostgreSQL创建只读用户
创建用户及指定密码: CREATE USER readonly WITH ENCRYPTED PASSWORD 'ropass'; 设置用户默认事务只读: alter user readonly se ...
- PostgreSQL数据库创建/删除
方法1 - 系统命令 sudo su - postgres #切换到postgres用户(系统用户) createdb weichen #创建数据库 psql #直接訪问数据库(默认进入本地postg ...
- 数据库创建,用户管理,导入dmp文件
创建数据库文件 CREATE TABLESPACE toolset LOGGING DATAFILE '/home/oracle/app/oracle/oradata/orcl/toolset.dbf ...
随机推荐
- js中拼接HTML方式方法及注意事项
博主原创:未经博主允许,不得转载 在前端应用中,经常需要在js中动态拼接HTML页面,比如应用ajax进行局部刷新的时候,就需要在js中拼接HTML页面. 主要规则是将HTML页面的标签拼接为标签字符 ...
- Python非递归遍历多叉树
class Queue: def __init__(self,max_size): self.max_size = int(max_size) self.queue = [] def put(self ...
- Java I/O学习 文件读写工具
import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import jav ...
- Python day20正则表达式和re方法
元字符6个函数以及几个元字符1.'.'通配符2.'^'以什么开头3.'$'以什么结尾4.'*'紧挨着的字符0~∞次5.'+'紧挨着的字符1~∞次6.'?'紧挨的字符0次或1次7.'{}' {0,}== ...
- MongoDB(课时13 where条件过滤)
3.4.2.8 条件过滤 关系型数据库开发对于数据的筛选,想到的一定是where语句,MongoDB里面提供的是"$where". 范例:使用where进行数据的查询 db.stu ...
- URAL 1741 Communication Fiend
URAL 1741 思路: dp 状态:dp[i][1]表示到第i个版本为正版的最少流量花费 dp[i][0]表示到第i个版本为盗版的最少流量花费 初始状态:dp[1][0]=dp[0][0]=0 目 ...
- TypeScript 小记
1. 对比JavaScript TypeScript是JavaScript的超集,可编译为JavaScript,主要提供类型系统等增强代码的可读性和可维护性,适合中大型项目多人协作: TypeScri ...
- Python 爬虫-信息的标记xml,json,yaml
2017-07-26 23:53:03 信息标记的作用有: 标记后的信息可形成信息组织结构,增加了信息维度 标记的结构与信息一样具有重要价值 标记后的信息可用于通信.存储或展示 标记后的信息更利于程 ...
- SQLServer创建用户、数据库、表、约束、存储过程、视图
--创建登录账户和数据库用户 ' exec sp_grantdbaccess 'sysAdmin','aa' --给数据库用户赋权限 grant select,update,insert,delete ...
- windows7 asp.net发布IIS 拒绝访问 解决方法
在windows7中打开DNN网站有以下问题: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP ...