Postgresql 如何在Ubuntu上使用pgAdmin将Postgres连接到本地主机服务器?

Postgresql 如何在Ubuntu上使用pgAdmin将Postgres连接到本地主机服务器?,postgresql,database-connection,pgadmin,Postgresql,Database Connection,Pgadmin,我用这个命令安装了Postgres sudo apt-get install postgresql postgresql-client postgresql-contrib libpq-dev 在终端上使用psql--version我得到了psql(PostgreSQL)9.3.4 然后我用安装了pgadmin sudo apt-get install pgadmin3 后来,我打开UI并使用此信息创建服务器 但这一错误似乎存在 如何修复它?您尚未创建用户db。如果只是新安装,默认用户为

我用这个命令安装了Postgres

sudo apt-get install postgresql postgresql-client postgresql-contrib libpq-dev
在终端上使用psql--version我得到了psql(PostgreSQL)9.3.4

然后我用安装了
pgadmin

sudo apt-get install pgadmin3
后来,我打开UI并使用此信息创建服务器

但这一错误似乎存在


如何修复它?

您尚未创建用户
db
。如果只是新安装,默认用户为
postgres
,密码应为空。访问后,您可以创建所需的用户。

首先创建用户。您必须以用户postgres的身份执行此操作。由于postgres系统帐户未分配密码,因此您可以先设置密码,或者按如下方式操作:

sudo /bin/bash
# you should be root now  
su postgres
# you are postgres now
createuser --interactive

程序将提示您。

修改角色postgres的密码:

sudo -u postgres psql postgres

alter user postgres with password 'postgres';
现在使用用户名postgres和密码postgres连接到pgadmin

现在,您可以使用pgAdmin创建角色和数据库

这对我有帮助:

1. 打开文件
pg_hba.conf

sudo nano/etc/postgresql/9.x/main/pg_hba.conf

并更改此行:

Database administrative login by Unix domain socket
local   all             postgres                                md5

  • 重新启动服务器

    sudo服务postgresql重启

  • 登录psql并设置密码

    psql-U博士后

  • 使用“新密码”密码更改用户帖子

  • 再次打开文件
    pg_hba.conf
    并更改此行:
  • 通过Unix域套接字进行数据库管理登录 本地所有博士后信托基金 到

    通过Unix域套接字进行数据库管理登录 本地所有博士后md5
  • 重新启动服务器 sudo服务postgresql重启


  • 它起作用了


    有用的链接

    1:(来自ubuntu.com)

    如果您在终端窗口中打开
    psql
    控制台,请键入

    $
    psql

    您的超级用户用户名将显示在
    =#
    之前,例如:

    elisechant=#
    $


    这将是您应该用于本地主机的用户名。

    首先,您应该使用终端更改密码。 (用户名为postgres)

    postgres=#\password postgres

    然后,系统将提示您输入密码并确认


    现在,您可以使用新密码使用pgadmin进行连接

    如果我这样做,在opensuse上连接到服务器时会出现此错误:fe_sendauth:没有提供密码
    ,postgres用户密码不是空的,而是未定义的(在/etc/shadow中有一个感叹号)。无法使用密码登录。仅测试验证,是的,Pg确实为使用
    md5
    auth时不存在的用户发出
    密码验证失败
    。如何创建用户?“连接到服务器时出错:fe_sendauth:未提供密码”
    sudo-u postgres-i
    将导致密码问题。我的系统上没有密码,您可以输入。我的建议总是有效的(希望如此)。
    sudo-u postgress-i
    不会导致密码问题(至少在默认安装后的Ubuntu上是如此)。
    createuser--interactive
    不会导致密码提示…:(@OndřejDoněk我的建议是sudo/bin/bash,你先这么做了吗?你应该为角色键入什么?$
    createuser--interactive
    输入要添加的角色名称:
    postgres
    新角色是否是超级用户?(y/n)
    y
    或者你可以直接..“sudo-u postgres psql”,然后键入“\password”。点击enter。输入新密码。这应该是可以接受的答案。谢谢。这帮了大忙。这解决了我的问题,但你能解释为什么在某些情况下需要在设置postgres密码之前将db admin登录名更改为trust吗?@HostMyBus Hi man,act事实上,我完全不记得这个案例了。试着从网上找到一些答案(我认为这是一个很好的解释)@HostMyBus这是一项安全功能。如果将其设置为“信任”,则计算机上的任何用户都可以登录到数据库。实际上,您不需要它:只需使用WiredIn Answer从该链接下载v9.3的postgresql,然后再次运行pgadmin III,您将获得已安装的本地主机,无需连接。
    Database administrative login by Unix domain socket
    local   all             postgres                                trust
    
    Database administrative login by Unix domain socket local all postgres trust Database administrative login by Unix domain socket local all postgres md5