1. 给gpadmin配置密码 或者新建用户
psql 登录数据库
alter role gpadmin with password '密码'; 执行命令,给gpadmin创建密码
\q 退出数据库
或者尝试修改密码命令
\password
2. 配置pg_hba.conf 文件
vi $MASTER_DATA_DIRECTORY/pg_hba.conf
在下面添加
host all gpadmin 0.0.0.0/0 md5
host all gpadmin ::0/0 md5
wq 保存退出
配置完成使用gpstop -u 使配置生效
注释:下面是我本地访问集群的配置
host all gpadmin 192.168.18.1/32 md5
# TYPE DATABASE USER ADDRESS METHOD
TYPE 可以是local 本地 或者host Ip4或者ip6用这个类型
DATABASE 数据库 可以限制指定数据库 或者所有数据库all
USER 限制可以访问的用户 或者使用所有用户 all
ADRESS 项 local可以不用写 里面可以写一个ip地址或者一个网段
10.1.1.0/24 代表 10.1.1.0~10.1.1.255
192.168.1.10/32代表192.168.1.10
172.20.143.89/32表示一个主机,
172.20.143.0/24表示一个小子网,
10.6.0.0/16 表示一个大子网。
IPv6地址范围的主机看起来像::1/128 (这种情况下是IPv6的回调地址),fe80::7a31:c1ff:0000:0000/96 表示一个小子网。0.0.0.0/0代表所有IPv4地址, ::0/0代表所有IPv6地址。要声明单个主机, 给 IPv4 地址声明掩码长度 32 ,给 IPv6 地址声明 128
METHOD指定如何处理客户端的认证。 一般使用md5
常用的有ident,md5,password,trust,reject。
ident是Linux下PostgreSQL默认的local认证方式,凡是能正确登录服务器的操作系统用户(注:不是数据库用户)就能使用本用户映射的数据库用户不需密码登录数据库。用户映射文件为pg_ident.conf,这个文件记录着与操作系统用户匹配的数据库用户,如果某操作系统用户在本文件中没有映射用户,则默认的映射数据库用户与操作系统用户同名。比如,服务器上有名为user1的操作系统用户,同时数据库上也有同名的数据库用户,user1登录操作系统后可以直接输入psql,以user1数据库用户身份登录数据库且不需密码。
md5是常用的密码认证方式,最好使用md5。密码是以md5形式传送给数据库,较安全,且不需建立同名的操作系统用户。
password是以明文密码传送给数据库,建议不要在生产环境中使用。
trust是只要知道数据库用户名就不需要密码或ident就能登录,建议不要在生产环境中使用。
reject是拒绝认证。