如何在Postgres中强制使用前缀“ pg_”创建新用户?

问题描述

我对postgres有问题。是否可以强制前缀“ pg_”在Postgresql中创建用户?例如:

CREATE USER pg_admin PASSWORD 'qwerty';

我正在使用Postgresql 10.6

解决方法

此限制自9.6版开始生效,其中引入了以pg_开头的系统角色。

可以创建一个具有不同名称的角色,然后在rolname中更新pg_authid,但这不是一个好主意,因为PostgreSQL与其他角色对待角色的方式不同。例如,pg_dumpall -r不会转储该角色。