文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

PostgreSQL 授权管理

2021-01-17 01:46

关注

PostgreSQL 授权管理

默认创建用户可以登陆所有数据库,且拥有select,insert,update,delete权限 普通针对表授权,例如给默写表授权select,对授权表仅有select权限,但并不限制自己进行其他建表操作,为了处理这个问题,应该执行以下操作

初始化权限

dba账号登陆postgres库回收postgres,template0,template1的连接权

revoke connect on database postgres,template0,template from public;

建库并回收权限

此时新库没有建好,所以dba账号登陆postgres库进行建库并回收权限操作

create database db;
revoke connect on database db from public;

回收新库权限

如果是第一次建立数据库,则应该到对应的 新库 中执行回收权限

revoke all privileges on schema public from public;

创建用户并授权

此步骤应该在 新库 中执行,revoke与grant会在库对应的schema下进行权限操作:

# 创建用户
$do$
BEGIN
    if not exists (select from pg_catalog.pg_roles where rolename = "heihei" ) then
		create user %s with password "heihei";
	end if;
end
$do$

#usage授权
grant usage on schema public to "heihei";

#连接授权
grant connect on database db to "heihei";

#存量授权
grant select,update,insert,delete on all tables in schema public to "heihei";

#增量授权
alter default privileges in schema public grant select,update,insert,delete on tables to "heihei";

#sequences授权,仅能对select跟update进行授权,需要提前判断
alter default privileges in schema public grant select[,update] on sequences to "heihei";
grant select[,update] on all sequences in schema public to "heihei";

以上,即可对存量及增量进行pgsql授权管理

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯