如何在postgresql中设置权限,让一个角色可以访问到某个数据库中的所有表

postgresql官方手册13版本中5.7权限如下:

img

可以看到postgresql的database只有创建,链接,临时三个权限,没有对整个数据库的表都可以查看的权限,那应该如何做呢?

SELECT * FROM information_schema.schemata
grant USAGE ON SCHEMA 模式名 TO 角色名;
grant SELECT ON ALL TABLES IN SCHEMA 模式名 TO 角色名;

再建一个建模式和键表的触发器,谁能帮我写一下?

grant create on database 数据库名 to 用户名;

你这需求,直接授予用户这个数据库的所有权限是不行?

grant all on database 数据库名 to 用户名;