-1

我正在尝试在 Fedora 25 上安装 PostgreSQL。

我已经编辑了 postgresql.conf 以包括:

listen_addresses = '*'  
port = 5432

我已编辑 pg_hba.conf 以包括:

local   all all                         trust
local   all all 192.168.0.0/24          trust
local   all all 127.0.0.1/32            trust

两者都可以被视为绝望,但我正在尝试建立联系。

我可以通过命令行 psql 访问 PostgreSQL 服务器

但我无法通过 pgadmin3 建立连接——使用相同的登录凭据。

我收到以下消息:

Ident authentication failed
The server doesn't accept the current user: The server reports 
FATAL: Ident authentication failed for user "postgres" 
If this message appears, the pg_hba.conf entry found for your client / user / database combination is set to "ident" authentication. Some distributions, e.g. Debian, have this by default. To perform ident based authentication successfully, you need additional setup; see the PostgreSQL help for this. For a beginner, it might be more appropriate to use a different authentication method; MD5 encrypted passwords are a good choice, which can be configured by an entry in pg_hba.conf like this: 
host all all 192.168.0.0/24 md5 
This example grants MD5 encrypted password access to all databases to all users on the private network 192.168.0.0/24. 
You can use the pg_hba.conf editor that is built into pgAdmin III to edit the pg_hba.conf configuration file. After changing pg_hba.conf, you need to trigger a server configuration reload using pg_ctl or by stopping and restarting the server process. 

任何人都可以看到任何明显的错误,或者建议我可以尝试的可能性。

4

2 回答 2

1

在搞砸了一些之后......
我的 pg_hba.conf 现在归结为:

# My desperate access - including a very open option...
local all all trust
host all all 0.0.0.0/0 trust

# "local" is for Unix domain socket connections only
local   all             all                                     trust

# IPv4 local connections:
host    all             all             127.0.0.1/32            trust

# IPv6 local connections:
host    all             all             ::1/128                 trust

前两行并没有为我做,但是当我将最后三行全部使用“信任”时,我获得了访问权限 - 也是通过 pgadmin3

于 2017-01-18T19:28:29.407 回答
0

对于测试,您可以尝试使用pg_hba.conf这样的行(第一行用于 IPv4,第二行用于 IPv6):

host all all 0.0.0.0/0 trust
host all all ::0/0     trust

这允许所有网络连接在没有密码的情况下成功,因此不要测试后留下这些行。

注意pg_hba.conf是从上到下处理的,使用的是第一个匹配行。所以你想把线条放在最上面。

重新加载后pg_ctl reload,检查 PostgreSQL 日志文件是否在配置文件中有任何错误。

于 2017-01-18T08:49:43.247 回答