openGauss用客户端软件无法连接

openGauss用客户端软件无法连接。试过 [
Data Studio,DBeaver,Navicat Premium 15,mogeaver,无一成功。
已在pg_hba.conf中设置
host all all 0/0 md5
在postgresql.conf中设置
Listen_addresses=‘*’

是的——openGauss 的 omm 账号默认被“禁止远程连接”,这是官方的安全策略:

  • omm 是 初始化超级用户,等同 PostgreSQL 的 postgres 用户;
  • 在 pg_hba.conf 里默认只有 local(本机 socket)认证行,没有 host 行;
  • 即使你把监听地址改成 *,只要用 omm 用户远程登录,就会收到:
  FATAL:  forbid remote connection with initial user
  • 官方文档、Docker 镜像、社区教程都明确提示必须新建普通用户。

:white_check_mark: 正确做法

永远不要用 omm 远程连接。

新建一个普通用户并授权即可:

-- 连接本地
gsql -d postgres -r

-- 创建远程用户
CREATE USER remote_user WITH PASSWORD 'Strong@123' SYSADMIN;

-- 需要时再建库
CREATE DATABASE mydb OWNER remote_user;

然后在 pg_hba.conf 加一行:

host    all    remote_user    0.0.0.0/0    md5

重载或重启后,就能用 remote_user 在 Navicat / psql 远程登录了。


navicat17连接报错,有没更好的方案
fe_sendauth: invalid authentication request from server: AUTH_REQ_SASL_CONT without AUTH_REQ_SASL
kimi说 Navicat 17 原生就支持 openGauss ,只要把它当成 PostgreSQL 来建连接即可。
出现 AUTH_REQ_SASL_CONT 并不是 Navicat 不支持,而是 openGauss 默认的认证协议(SCRAM-SHA-256)与 Navicat 的握手方式不兼容
把认证方式改成 md5 即可,改了还是不行好麻烦

navicat要用gaussdb的类型来连接。
如果使用postgresql类型连接,在认证方式改了md5后,要再修改一下密码,才会把md5的密码更新到该用户的数据字典里

最后还是用了官网工具里带的