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


102

我用此命令安装了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并使用此信息创建服务器

在此处输入图片说明

但出现此错误

在此处输入图片说明

我该如何解决?


从此链接下载v9.3的postgresql https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows,然后再次运行pgadmin III,您将获得已安装的本地主机,无需连接。
Dhavalkumar Prajapati

Answers:


29

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


43
如果我这样做,这个错误出现 Error connecting to the server: fe_sendauth: no password supplied
TuGordoBello

在opensuse上,postgres用户密码不是空白,而是未定义(/ etc / shadow中的感叹号)。无法登录密码。
Str。

刚刚经过测试以进行验证,是的,Pg确实会password authentication failed为使用md5auth 时不存在的用户发出警报。
克雷格·林格2014年

1
您如何创建用户?
ahnbizcad 2015年

2
“连接服务器时出错:fe_sendauth:未提供密码”
Cerin

174

修改角色postgres的密码:

sudo -u postgres psql postgres

alter user postgres with password 'postgres';

现在使用用户名postgres和密码postgres连接到pgadmin

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

如何更改PostgreSQL用户密码?


10
或者您也可以..'sudo -u postgres psql',然后键入'\ password'。按Enter。输入新密码。
杰伊·莫迪2015年

1
这应该被接受。谢谢。这很有帮助。
Pramesh Bajracharya

25

它帮助到我:


1. 打开文件 pg_hba.conf

须藤nano /etc/postgresql/9.x/main/pg_hba.conf

并更改此行:

Database administrative login by Unix domain socket
local   all             postgres                                md5

Database administrative login by Unix domain socket
local   all             postgres                                trust
  1. 重新启动服务器

    sudo服务postgresql重新启动

  2. 登录到psql设置密码

    psql -U postgres

ALTER USER postgres with password 'new password';

  1. 再次打开文件 pg_hba.conf并更改此行:
通过Unix域套接字进行数据库管理登录
    本地所有Postgres信任

    通过Unix域套接字进行数据库管理登录
    本地所有postgres md5
  1. 重新启动服务器

    sudo服务postgresql重新启动


有用。

在此处输入图片说明


有用的链接
1:PostgreSQL(来自ubuntu.com)


这解决了我的问题,但是您能否解释为什么在某些情况下需要在设置postgres密码之前将db admin登录名更改为trust?
HostMyBus '18 -10-1

@HostMyBus嗨,老兄,我真的不记得这种情况了。尝试从网络上
找出

@HostMyBus,这是一项安全功能。如果将其设置为“信任”,则计算机上的任何用户都可以登录数据库。
Simon Zyx

您实际上并不需要它:只需使用WiredIn答案
Simon Zyx

4

首先创建一个用户。您必须以用户postgres的身份执行此操作。由于postgres系统帐户未分配密码,因此您可以先设置一个密码,也可以这样进行:

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

程序将提示您。


sudo -u postgres -i会导致密码问题。您可以输入我的系统上没有密码。我的建议始终有效(希望如此)。
Str。

sudo -u postgress -i不会导致密码问题(至少在默认安装后在我的Ubuntu上)。无论是createuser --interactive不会导致密码提示... :(
的OndrejDoněk

@OndřejDoněk我的建议首先是sudo / bin / bash,您这样做了吗?
Str。

您应该输入什么角色?
ahnbizcad 2015年

$ createuser --interactive 输入要添加的角色名称:postgres 新角色将成为超级用户吗?(y / n)y
Elise Chant

2

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

postgres =#\密码postgres

然后将提示您输入密码并确认。

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


0

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

$ psql

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

elisechant=#$

这将是您应用于localhost的用户名。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.