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

AWS Glue连接CockroachDB报错:SCRAM认证需libpq 10及以上

AWS Glue中psycopg2因libpq版本过低导致SCRAM认证错误的解决办法

问题概述

  • 错误提示:OperationalError: SCRAM authentication requires libpq version 10 or above
  • 当前环境版本:
    • psycopg2:2.9.5 (dt dec pq3 ext)
    • libpq:90224(对应9.2.24版本)
  • 背景:此前Glue任务运行正常,近期突然因SCRAM认证要求失败,且无法直接升级Glue系统自带的libpq库

可行解决方案

1. 替换为psycopg2-binary包

psycopg2-binary是预编译的独立包,自带符合SCRAM认证要求的libpq版本,无需依赖Glue系统的libpq:

  • 在Glue任务的Python依赖配置中,移除原有的psycopg2,添加psycopg2-binary==2.9.5(版本与原psycopg2保持一致)
  • 该方案无需修改系统环境,是Glue环境下最快捷的解决方式

2. 构建自定义Glue作业镜像

若必须使用标准psycopg2包,可基于官方Glue镜像构建自定义镜像并升级libpq:

  • 拉取对应Glue版本的官方镜像(例如amazon/aws-glue-libs:glue-3.0)
  • 在Dockerfile中添加升级libpq的命令(以Amazon Linux 2为例):
    RUN amazon-linux-extras install postgresql10 -y && \
        yum install -y postgresql10-libs
    
  • 构建镜像并推送到AWS ECR
  • 在Glue任务配置中选择该自定义镜像运行作业

3. 临时调整PostgreSQL认证方式(不推荐长期使用)

若暂时无法修改Glue作业配置,可临时降低PostgreSQL的认证要求:

  • 编辑PostgreSQL的pg_hba.conf配置文件,将对应用户/数据库的认证方式从scram-sha-256改为md5
  • 重启PostgreSQL服务使配置生效
  • 注意:此方式会降低数据库认证安全性,仅作为临时过渡方案

内容的提问来源于stack exchange,提问作者eclipse

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 18:47:10