博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PG 里面的只读用户,只读数据库
阅读量:2499 次
发布时间:2019-05-11

本文共 1090 字,大约阅读时间需要 3 分钟。

pg 里面如何实现一个用户的只读访问呢?
oracle 里 我们通过对每个对象的单独的授予 select 权限,解决。
整个数据库级别的只读怎么做? oracle 里应该是对应到schema 级别的,设置表空间只读。
pg 下面怎么做呢?
PG 里有个参数  default_transaction_read_only[code]
postgres=# create user lsl password 'lsl' ;
CREATE ROLE
postgres=# alter user lsl set default_transaction_read_only=on;
ALTER ROLE
postgres=# grant all on database cms_pcbaby_app to lsl;      
GRANT
cms_pcbaby_app=> create table t(id int) ;
ERROR:  cannot execute CREATE TABLE in a read-only transaction
cms_pcbaby_app=>
[/code]数据库级别也可以设置这个参数的。[code]
cms_pcbaby_app=> \c postgres postgres
You are now connected to database "postgres" as user "postgres".
postgres=# create database  p with wner=postgres ;
CREATE DATABASE
postgres=# alter database p set default_transaction_read_only= on ;
ALTER DATABASE
postgres=# \c p
You are now connected to database "p" as user "postgres".
p=# create table abc (id int) ;
ERROR:  cannot execute CREATE TABLE in a read-only transaction
p=#
[/code]PG  很好,很强大!!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/133735/viewspace-741459/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/133735/viewspace-741459/

你可能感兴趣的文章
4-1 组件使用的细节点
查看>>
隐藏Apache的版本号及其它敏感信息
查看>>
ecstore在apache下去掉index.php入口文件
查看>>
ProjectForge 4.2.0 发布,项目管理系统
查看>>
Git常用命令使用大全
查看>>
使用Java的BlockingQueue实现生产者-消费者
查看>>
Rabbitmq基本使用
查看>>
Selenium 2.0自动化测试
查看>>
记录一次统计首页MYSQL非常慢的解决过程
查看>>
Linux中的块设备和字符设备
查看>>
SQL语句汇总(二)——数据修改、数据查询
查看>>
zepto源码--定义变量--学习笔记
查看>>
Date对象设置一天的0点
查看>>
Arduino Uno微控制器采用的是Atmel的ATmega328
查看>>
c# 高效的线程安全队列ConcurrentQueue(下) Segment类
查看>>
解决c#distinct不好用的问题
查看>>
JS输出中文乱码问题解决
查看>>
第三章例3-4
查看>>
DAG上的DP
查看>>
svn 命令管理
查看>>