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;
相关推荐
betazhou7 分钟前
django+postgresql创建第一个网站
python·postgresql·django
wuchen10049 分钟前
SQLite的外键SQL小总结
数据库·sql·sqlite
u01074754611 分钟前
SQL在分布式SQL环境下的JOIN性能优化_减少跨节点数据传输
jvm·数据库·python
鸽芷咕12 分钟前
一张表的三种身份证:金仓数据库 OID vs ROWID vs 自增主键选型指南
数据库·oracle
鸽芷咕13 分钟前
从边缘到云端:2026年工业物联网时序数据库选型策略
数据库·物联网·时序数据库
雨墨✘13 分钟前
CSS如何实现不同屏幕下的字体缩放_利用clamp函数动态调整
jvm·数据库·python
hef28816 分钟前
Go语言如何刷LeetCode_Go语言LeetCode刷题教程【速学】
jvm·数据库·python
渡我白衣16 分钟前
【MySQL基础】(4):MySQL 数据类型
数据库·人工智能·深度学习·神经网络·mysql·机器学习·自然语言处理
u01074754619 分钟前
HTML5中SVG描边虚线Stroke-dasharray的配置技巧
jvm·数据库·python
Dontla22 分钟前
JWT认证流程(JSON Web Token)
前端·数据库·json