PostgreSQL创建数据库、数据库管理员用户、该库的只读用户

1.创建用户:

create user pgdbAdmin with password "Pgdb_15432";

2.创建数据库:

create database pgdb owner pgdbAdmin;

3.创建SCHEMA;

create schema pgdbAdmin;

4.赋予数据库管理员用户权限:

grant all privileges on database pgdb to pgdbAdmin;
grant usage on schema public,pgdbAdmin to pgdbAdmin;
grant all privileges on all tables in schema public,pgdbAdmin to pgdbAdmin;
grant all privileges on all sequences in schema public,pgdbAdmin to pgdbAdmin;
grant select,insert,update,delete on all tables in schema public,pgdbAdmin to pgdbAdmin;
grant all on schema public,pgdbAdmin to pgdbAdmin;

5.赋予数据库其他用户权限(只读):

create user pgdbRead with password "Pgdb_15432" 
alter user pgdbRead set default_transaction_read_only = on;
grant CONNECT ON DATABASE pgdb to pgdbRead;
grant USAGE ON SCHEMA public,pgdbAdmin TO pgdbRead;

6.赋予schema下所有表的只读权限

grant SELECT ON all tables in schema public,pgdbAdmin to pgdbRead;

7.修改用户属性,继承该schema下的只读权限

alter default privileges in schema public,pgdbAdmin grant select on tables to pgdbRead;

8.修改默认的SEARCH_PATH:

alter role pgdbRead set search_path = "$user",pgdbAdmin,public;
相关推荐
明矾java4 小时前
MySQL进阶-关联查询优化
数据库·mysql
冰糖码奇朵4 小时前
大数据表高效导入导出解决方案,mysql数据库LOAD DATA命令和INTO OUTFILE命令详解
java·数据库·sql·mysql
迷路的小犀牛4 小时前
【MYSQL数据库异常处理】执行SQL语句报超时异常
数据库·sql·mysql
极限实验室6 小时前
INFINI Labs 产品更新 | Easysearch 增加异步搜索等新特性
数据库
m0_748246876 小时前
maven导入spring框架
数据库·spring·maven
前后相随6 小时前
springboot集成maven多模块开发
数据库·oracle
勘察加熊人7 小时前
fastapi房产销售系统
数据库·lua·fastapi
m0_748254667 小时前
MySQL和SQL server的区别
数据库·mysql
补三补四7 小时前
Yashan DB 实例
数据库·oracle·dba
椰椰椰耶8 小时前
【redis】全局命令set、get、keys
数据库·redis·缓存