psql致命角色不存在

whi*_*ash 21 postgresql ubuntu pgadmin

我最近最新版本的ubuntu,我还不习惯.我有几个问题连接postgresql与pgadmin3.

我尝试按照几个教程创建一个localhost服务器,我可以在pgadmin3中使用它.我没有真正达到标准,我认为通过安装,卸载,安装,卸载,尝试我找到的答案,我做得更糟......此时我不确定我的postgres是否干净.我可能有两个postgres安装,再次,我不确定.我试图卸载它,但我有一个错误,基本上说postgres不在sudo.

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

$psql
psql: FATAL: role "user" does not exist 
Run Code Online (Sandbox Code Playgroud)

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

我怎么能做这个工作?

nik*_*iko 45

正如评论中指出的那样,你的pg_hba.conf看起来很好.

通常,数据库将作为postgres用户运行(检查ps aux | grep postgres以查找postgres正在运行的用户名).

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

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

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

  • 您不一定需要该用户的数据库.启动psql时可以指定数据库:`psql db_name` (2认同)

小智 8

sudo -u postgres createuser user
Run Code Online (Sandbox Code Playgroud)

可以帮助您创建具有postgres所有权限的新用户