角色“postgres”不存在;无法创建用户
Posted
技术标签:
【中文标题】角色“postgres”不存在;无法创建用户【英文标题】:role "postgres" does not exist; cannot createuser 【发布时间】:2015-08-16 20:09:33 【问题描述】:我使用的是 Linux Mint Cinnamon 2.2.16。
在启动和运行 Rails 的过程中,我遇到了 Postgres 的问题。
postgres@BL ~ $ psql --version
psql (Postgres-XC) 1.1
(based on PostgreSQL) 9.2.4
我无法使用我常用的用户名进行任何操作,因此我更改为默认用户使用
sudo su - postgres
我无法使用 createuser 进行任何操作。
postgres@BL ~ $ psql
psql: FATAL: role "postgres" does not exist
postgres@BL ~ $ createuser -s -U $USER
createuser: could not connect to database postgres: FATAL: role "postgres" does not exist
postgres@BL ~ $ sudo -u postgres createuser newname
Sorry, user postgres is not allowed to execute '/usr/bin/createuser newname' as postgres on BL.
postgres@BL ~ $ which psql
/usr/bin/psql
postgres@BL ~ $ psql \l
psql: FATAL: role "postgres" does not exist
【问题讨论】:
试试这个解决方案:***.com/questions/15301826/… 我没有得到 $ psql \l 的输出,而是给了我同样的致命错误:角色“postgres”不存在。让我觉得我根本没有用户,但需要用户创建用户...? 【参考方案1】:在彻底研究了这个问题并扯掉了几根头发之后,我认为这是打包/安装问题的某种变体,此处记录了类似的问题:unable to create user postgres: role "postgres" does not exists
我按照下面的方法进行了完全卸载,然后在没有 postgresql-xc 的情况下重新安装
How to thoroughly purge and reinstall postgresql on ubuntu?
新安装的用户“postgres”具有预期的行为,我能够将自己添加为超级用户并创建新数据库。经过一些安装后的修改后,Rails 似乎可以运行并且与 postgres 配合得很好。
【讨论】:
【参考方案2】:您必须以超级用户身份向 psql 进行身份验证才能管理用户。 例如
psql -U 根
之后
使用密码“paige”创建用户paige;
【讨论】:
不幸的是,这里出现了同样的错误。 postgres@BL ~ $ psql -U root psql: FATAL: 角色“root”不存在 你还记得你第一次安装postgres时使用的用户名吗? 我不相信我创建了一个具有唯一名称的用户,尽管它确实询问我是否想为“管理员'root'用户”创建一个密码,我做到了。除了 admin、root、user 或 postgres 之外还有其他标准用户名吗?以上是关于角色“postgres”不存在;无法创建用户的主要内容,如果未能解决你的问题,请参考以下文章
无法混合ecto.create,角色'postgres'不存在[重复]
Createuser:无法连接到数据库 postgres:致命:角色“tom”不存在