Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 无法连接到greenplum,错误消息为:“no pg_hba.conf entry”_Postgresql_Greenplum - Fatal编程技术网

Postgresql 无法连接到greenplum,错误消息为:“no pg_hba.conf entry”

Postgresql 无法连接到greenplum,错误消息为:“no pg_hba.conf entry”,postgresql,greenplum,Postgresql,Greenplum,我使用的是gp 4.3.7.2,我遵循了手册 我可以使用管理员用户连接到服务器,但当我尝试使用其他用户时,会收到错误消息 psql: FATAL: no pg_hba.conf entry for host "[local]", user "gpuser", database "rdw", SSL off 我已经对stackoverflow做了一些研究。我修改了pg_hba.conf,添加了一个条目 host all all 0.0.0.0/0 md5 然后使用gpstop-u重新加载

我使用的是gp 4.3.7.2,我遵循了手册

我可以使用管理员用户连接到服务器,但当我尝试使用其他用户时,会收到错误消息

psql: FATAL:  no pg_hba.conf entry for host "[local]", user "gpuser", database "rdw", SSL off
我已经对stackoverflow做了一些研究。我修改了pg_hba.conf,添加了一个条目

host  all  all 0.0.0.0/0 md5
然后使用gpstop-u重新加载配置文件,并选择pg_reload_conf;,甚至尝试重新启动gp服务器。但我还是犯了同样的错误

psql: FATAL:  no pg_hba.conf entry for host "[local]", user "user1", database "tutorial", SSL off
我还尝试了其他条目,如

host    all             all             127.0.0.1/32            md5
这也不管用

请告诉我如何解决这个问题

编辑:

我以单节点模式重新安装了数据库,并严格按照前面提到的手册进行了操作。我创建了两个用户:user1、user2,并将角色用户授予这两个用户。 我所执行的: 在命令行中:

$ createuser -P user1
Enter password for new role:
Enter it again:
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) n
在psql中:

=# CREATE USER user2 WITH PASSWORD 'changeme' CREATEDB NOSUPERUSER;    
=# CREATE ROLE users;
=# GRANT users TO user1, user2;
这是我的整个pg_hba.conf,位于/data/gp/server/master/gpsne-1/pg_hba.conf。我加上最后3行

local    all         hadoop         ident
host     all         hadoop         127.0.0.1/28    trust
host     all         hadoop         10.10.10.32/32       trust
host     all         hadoop         ::1/128       trust
host     all         hadoop         fe80::d6ae:52ff:feb9:87c2/128       trust
local    replication hadoop         ident
host     replication hadoop         samenet       trust
local tutorial +users md5
local tutorial +users 127.0.0.1/28 md5
hostssl tutorial +users samenet md5
但我还是犯了同样的错误

psql: FATAL:  no pg_hba.conf entry for host "[local]", user "user1", database "tutorial", SSL off
当我安装数据库时,我收到一条警告消息,不确定它是否相关

20160302:10:44:51:023434 gpinitsystem:bobcat04:hadoop-[WARN]:-Host 127.0.0.1 is assigned as localhost in /etc/hosts
20160302:10:44:51:023434 gpinitsystem:bobcat04:hadoop-[WARN]:-This will cause segment->master communication failures
20160302:10:44:51:023434 gpinitsystem:bobcat04:hadoop-[WARN]:-Remove 127.0.0.1 from local host line in /etc/hosts
这意味着您正在尝试使用psql从主主机连接到Greenplum,而不指定主机名。如果您只需键入以下内容:

psql
psql客户端将尝试连接到Greenplum的本地实例。您添加的pg_hba.conf条目用于主机身份验证,而不是本地身份验证

你可以通过做两件事中的一件来解决这个问题

当使用psql并希望使用pg_hba.conf文件中的主机条目进行身份验证时,请添加-h选项。这会告诉客户端连接到Greenplum并使用主机条目进行身份验证

psql -h mdw
您还可以在pg_hba.conf文件的底部添加一个条目,如下所示:

local all all md5
或者如果你信任当地的每一个人

local all all trust

关于pg_hba.conf文件的更多信息如下:

最后一行的第二行有错误:

local tutorial +users 127.0.0.1/28 md5
不应为本地连接列出IP地址

在进行更改后,是否运行gpstop-u重新加载? 我怀疑由于线路无效,重新加载失败


卸下线路,再次运行gpstop-u并再次尝试连接。

您添加的条目似乎正确。问题一定在别的地方。可能您更改了错误的“pg_hba.conf”文件,或者没有像在Unix域套接字中那样重新启动服务器。[local]?这需要本地而不是主机。请发布您的整个pg_hba.conf,但不要发表评论。@A.Scherbaum谢谢您的建议,我提供了更多详细信息。谢谢您的回复。但这并不能解决我的问题:请查看我添加到问题中的更多信息。谢谢!我删除了线,它的工作!但是GP入门手册说要添加这个条目…我会向Pivotal报告。