角色"postgres"不存在;无法创建用户。

15 浏览
0 Comments

角色"postgres"不存在;无法创建用户。

我使用的是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

0
0 Comments

经过彻底研究问题并拔了不少头发后,我决定这是一种与打包/安装有关的问题的变体,类似于这里提到的问题:unable to create user postgres: role "postgres" does not exists

我按照以下步骤进行了完全卸载,并在重新安装时不安装postgresql-xc。

How to thoroughly purge and reinstall postgresql on ubuntu?

新安装的版本在用户"postgres"上有了预期行为,我能够将自己添加为超级用户并创建新的数据库。在进行了一些后期安装操作后,Rails似乎与postgres正常运行并且相互兼容。

0
0 Comments

(role "postgres" does not exist; cannot createuser)这个问题的出现是因为在管理用户时,需要使用超级用户身份进行身份验证。解决方法是使用超级用户身份登录psql。例如,可以使用以下命令进行登录:

psql -U root

。然后可以使用

create user paige with password 'paige';

命令创建用户。然而,如果在使用

psql -U root

命令时遇到了相同的错误,如下所示:

postgres ~ $ psql -U root

psql: FATAL: role "root" does not exist

那么可能是在安装PostgreSQL时没有创建一个唯一名称的用户。尝试回忆一下在安装PostgreSQL时使用的用户名。也许除了admin、root、user或postgres之外还有其他标准用户名。

0