我正在设置我的PostgreSQL 9.1.我对PostgreSQL无能为力:不能createdb,不能createuser; 所有操作都返回错误消息
Fatal: role h9uest does not exist
Run Code Online (Sandbox Code Playgroud)
h9uest是我的帐户名,我sudo apt-get install在这个帐户下的PostgreSQL 9.1.
该root帐户仍然存在类似的错误.
来自PostgreSQL文档:
角色的概念包含"用户"和"组"的概念.在8.1之前的PostgreSQL版本中,用户和组是不同类型的实体,但现在只有角色.任何角色都可以充当用户,组或两者.
为什么他们在8.1中做出这个改变?
从C编码器的角度来看,使用单个Role类(struct)可能更容易?
更多细节:
CREATE USER is equivalent to CREATE ROLE except that CREATE USER 为用户/角色提供LOGIN权限.
(我即将为我的webapp设计一个权限系统,因此我对此感兴趣.)