大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说授权管理root权限_微信授权管理在哪里,希望您对编程的造诣更进一步.
默认创建用户可以登陆所有数据库,且拥有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授权管理
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6392.html