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 镜像、社区教程都明确提示必须新建普通用户。
正确做法
永远不要用 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的密码更新到该用户的数据字典里
最后还是用了官网工具里带的
