PostgreSQL 创建只读用户

创建用户及指定密码:

CREATE USER username WITH ENCRYPTED PASSWORD 'ropass';

设置用户默认事务只读:

alter user username set default_transaction_read_only=on;

赋予用户权限,查看public模式下所有表:

GRANT USAGE ON SCHEMA public to username;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO username

赋予用户连接数据库权限:

GRANT CONNECT ON DATABASE foo to username;

切换到指定数据库:

\c foo

赋予用户表、序列查看权限:

将整个schema的权限赋予
GRANT USAGE ON SCHEMA public to username ;
将对应的序列赋予(ALL PRIVILEGES全部)
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO username ;
将所有的表赋予(也可以是单独的表或视图)
GRANT SELECT ON ALL TABLES IN SCHEMA public TO username ;
GRANT SELECT ON public.tablename(or view name)  TO username ;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • --- layout: post title: "如果有人问你关系型数据库的原理,叫他看这篇文章(转)" date...
    蓝坠星阅读 4,268评论 0 3
  • ORA-02000: 缺少关键字 ORA-02001: 用户 SYS 不允许创建可用列表组的索引 ORA-0200...
    thinkact阅读 21,968评论 0 6
  • 语 句 功 能 数据操作 SELECT——从数据库表中检索数据行和列INSERT——向数据库表添加新数据行DELE...
    戰敭阅读 10,511评论 0 53
  • 成彦同志认为,凶手之所以能追踪到我,主要原因在于我出门不戴口罩。据他的推理,凶手在那天晚上撞上我以后,一直对我心存...
    吉丽雅98阅读 2,972评论 0 0
  • 六月中旬,阴雨连绵。 江南,苏北,钟吾。 这雨已接连下了近半月。 路上的行人两三,手持油纸伞,步履匆匆,青石阶...
    默然mor阅读 2,682评论 0 1