日常工作中,我们通常开给研发2个账号(一个只读账号,读写账号)


读写账号自不必说, ,每次用这个账号建表后,自然就用了CRUD的权限。

但是,只读账号稍微费事点,如果我们处理不好的话,每次新加表都要再执行一次对只读账号的重新授权操作。好在PG为我们考虑好了这个场景,也是有方法解决的。


看下面例子:

使用postgres超级账号登录PG,创建2个业务账号

create user  rw login password '123456';   -- 创建读写账号

create user rd login password '123456';     -- 创建只读账号


create database ticket;   -- 创建测试用数据库


alter database ticket owner to rw ;  -- 将ticket库owner改为 rw账号


\c ticket   -- 切换到ticket库下

grant select on all tables in schema public to rd ;   # 对rd账号授权,当前已有的表的只读权限  (注意:这个命令对于当前已有的表生效。对于后期新创建的表,是没有加其它的授权)