You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

kosmtik对接PostgreSQL报authentication method 10 not supported咨询

报错根因

Postgis Plugin: authentication method 10 not supported 本质是客户端与PostgreSQL服务端的身份认证协议不匹配:PostgreSQL 11及以上版本默认使用scram-sha-256作为身份认证方式,对应协议编号就是10,而kosmtik依赖的旧版Mapnik PostGIS插件绑定的libpq客户端版本低于10,原生不支持该认证协议,和localconfig.js、project.mml的业务配置逻辑无关。

实操解决方案

按优先级排序依次尝试即可:

  • 方案一:调整PostgreSQL认证规则(本地开发场景首选,成功率最高)
    1. 定位PostgreSQL数据目录下的pg_hba.conf配置文件,Debian/Ubuntu系默认路径为/etc/postgresql/<数据库版本号>/main/pg_hba.conf,Windows系统默认在PostgreSQL安装目录的data文件夹下。
    2. 找到本地连接、kosmtik访问网段对应的配置行,将行尾的scram-sha-256替换为md5,本地开发环境直接修改本地socket、IPv4、IPv6回环地址的规则即可,修改后参考格式如下:
      local   all             all                                     md5
      host    all             all             127.0.0.1/32            md5
      host    all             all             ::1/128                 md5
      
    3. 保存配置后重启PostgreSQL服务,重新为kosmtik使用的数据库账号设置一次密码(修改认证方式后必须重设密码,密码哈希才会以md5格式存储生效),在psql中执行如下SQL:
      ALTER USER <你的数据库连接账号> WITH PASSWORD '<原账号密码>';
      
    4. 重启kosmtik重新发起连接即可。
  • 方案二:升级kosmtik的PostGIS连接驱动(生产环境优先选)
    若不希望降级数据库认证等级,进入kosmtik安装根目录,重新编译Mapnik模块使其绑定系统本地安装的新版libpq(要求系统本地libpq版本>=10,原生支持scram-sha-256),执行命令:
    npm rebuild mapnik --update-binary
    
    编译完成后重启kosmtik即可。
  • 方案三:排查基础配置错误
    核对localconfig.js、project.mml中配置的数据库连接参数,确认host、port、dbname、user、password字段填写正确,避免因端口填错连接到其他低版本PostgreSQL实例触发同类报错。

提示:本地开发环境使用md5认证不存在额外安全风险,若服务对公网暴露,不建议长期使用md5认证方式,优先走驱动升级方案。

内容的提问来源于stack exchange,提问作者VINICIUS SILVA FARIAS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 23:57:26