我最近的最新版本的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是必要的