我最近安装了最新版本的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
对于列出现有数据库非常有用