GaussDB逻辑解码连接失败

举报
GaussDB 数据库 发表于 2025/12/09 10:54:48 2025/12/09
【摘要】 故障现象连接数据库解码失败,报拒绝连接错误。故障原因可能原因有以下:用户没有逻辑解码权限。报错日志如下:FATAL: must be system admin or replication role or a member of the gs_role_replication role to use replication slots用户名和用户所在机器的IP未在数据库解码CN或DN节点上...
  • 故障现象

连接数据库解码失败,报拒绝连接错误。

  • 故障原因

可能原因有以下:

用户没有逻辑解码权限。

报错日志如下:

FATAL:  must be system admin or replication role or a member of the gs_role_replication role to use replication slots

用户名和用户所在机器的IP未在数据库解码CNDN节点上配置白名单。

报错日志如下(以用户Ruby为例,其中的X.X.X.X代指用户所在机器的IP):

FATAL:  no pg_hba.conf entry for replication connection from host "X.X.X.X", user "Ruby", SSL off

连接CN解码时,指定用户未在主DN上配置来自CN连接的白名单。

报错日志如下:

FATAL:  [FATAL] Connection from CN must use trust or gss auth method.
  • 处理方法

针对用户没有解码权限场景:

为解码用户(如下以Ruby为例)赋予解码角色权限,执行以下SQL语句:

GRANT gs_role_replication TO Ruby;

针对连接CN解码白名单未配置场景:

使用gs_guc工具,为用户名(以Ruby为例)和用户所在机器IP(如下用X.X.X.X指代,实际使用时需替换为正确IP)在数据库解码节点上配置白名单:

gs_guc reload -Z coordinator -N all -I all -h 'host replication Ruby  X.X.X.X/32 sha256'

针对直连DN解码白名单未配置场景:

使用gs_guc工具,为用户名(以Ruby为例)和用户所在机器IP(如下用X.X.X.X指代,实际使用时需替换为正确IP)在数据库解码节点上配置白名单:

gs_guc reload -Z datanode -N all -I all -h 'host replication Ruby  X.X.X.X/32 sha256'

针对连接CN解码时,指定用户未在主DN上配置来自CN连接的白名单:

使用gs_guc工具,为用户名(以Ruby为例)和解码连接CN所在机器IP(如下用X.X.X.X指代,实际使用时需替换为正确IP)在主DN节点上配置白名单:

gs_guc reload -Z datanode -N all -I all -h 'host replication Ruby  X.X.X.X/32 trust'

注意:如果需要为同一用户同时配置直连DN解码以及连接CN解码白名单,在相关DN上则不能使用gs_guc工具,而需要手动将单引号中的内容(如:host replication Ruby  X.X.X.X/32 trust)追加到对应DN节点的pg_hba.conf文件中。该文件存在于指定DN的实例路径下。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。