psql致命角色不存在

我最近安装了最新版本的Ubuntu,但我还不习惯。我在连接PostgreSQL和pgadmin3时遇到了几个问题

我尝试按照几个教程创建一个可以在pgadmin3中使用的localhost服务器。我没有真正击中目标,我想我通过安装,卸载,安装,卸载,尝试我找到的答案使情况变得更糟。。。在这一点上,我不确定我的PostgreSQL是否干净。有可能我安装了两个PostgreSQL,我不确定。我试图卸载它,但我有一个错误,基本上说PostgreSQL不在sudo中

问题是,我现在在控制台中运行psql时出现以下错误:

$psql
psql:致命:角色“用户”不存在

我找不到pg_hba.conf,在这一点上,我太害怕尝试跟随任何其他帖子而使事情变得更糟

我怎样才能做到这一点

正如评论中所指出的,您的pg_hba.conf看起来不错

通常,数据库将以postgres用户的身份运行(检查ps aux | grep postgres以了解postgres运行的用户名)

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

这应该会使调用psql起作用,而pgadmin——只要您以默认用户username的身份启动它——也应该起作用

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

发表评论