psql的致命angular色不存在

我最近的最新版本的Ubuntu的,我不习惯它呢。 我有几个连接postgresql和pgadmin3的问题。

我尝试了几个教程来创build一个可以在pgadmin3中使用的localhost服务器。 我没有真正达到这个标准,我认为我通过安装,卸载,安装,卸载,尝试我find的答案使情况变得更糟…在这一点上,我不知道我的postgres是干净的。 有可能我安装了两个postgres,再一次,我不确定。 我尝试卸载它,但我有一个错误,基本上说postgres不在sudo。

事情是我现在有这个错误在控制台中运行psql:

$psql psql: FATAL: role "user" does not exist 

我找不到pg_hba.conf ,在这一点上,我害怕通过尝试关注任何其他post来让事情变得更糟。

我怎么能做这个工作?

正如在评论中指出的,你的pg_hba.conf似乎很好。

通常情况下,数据库将以postgres用户身份运行(查看ps aux | grep postgres以查找postgres正在运行的用户名)。

以该用户身份登录,例如sudo su - postgres ,然后创建一个与你的普通Ubuntu用户帐户( createuser username )相匹配的用户,最后创建一个同名的数据库并将所有者( -O )设置为该数据库用户,像这样: createdb -O username username )。

这应该使调用psql工作,和pgadmin – 只要你启动它作为你的默认用户,用户名 – 也应该工作。

编辑:默认情况下, psql将使用您的Linux用户名作为数据库用户名和数据库名称的默认值。 您可以使用-U someotherusername覆盖用户名,并通过将该数据库名添加到命令行(如psql someotherdbname来连接到另一个数据库。 您也可能会发现psql -l对列出现有数据库很有用。

 sudo -u postgres createuser user 

可以帮助你用postgres的所有权限创建一个新的用户

使用postgres用户:

 sudo su postgres 

然后使用psql。

如果你仍然面临问题检查这个链接: PostgreSQL错误:致命:角色“用户名”不存在

在Windows 10中,这工作得很好

pg_restore –format = c –verbose –no-owner –no-privileges –dbname = MYDB –username = postgres –no-password –jobs = 8 F:/MYBK.backup

–username =(role)和–no-password是必要的