Mac M1 Pro上无法通过DataGrip连接PostgreSQL容器问题
M1 Pro Mac上Docker PostgreSQL无法通过DataGrip连接的原因及解决办法
核心原因
- M1 Pro属于ARM64架构,默认拉取的
postgres镜像是amd64版本,Docker需通过Rosetta 2转译运行该容器。这种转译环境下,DataGrip的连接驱动与容器的网络交互存在兼容性差异,导致连接失败;而Intel Mac为原生amd64环境,不存在转译层,因此连接正常。 - 另一种可能是DataGrip使用的PostgreSQL驱动版本过旧,对ARM转译后的PostgreSQL容器支持不足。
解决办法
- 使用ARM原生PostgreSQL镜像:指定对应版本的ARM架构镜像启动容器,以你使用的12.16版本为例,命令修改为:
原生ARM镜像无需转译,可消除架构兼容问题。docker run --name pg -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres:12.16-arm64v8 - 更新DataGrip驱动:打开DataGrip的数据库连接配置界面,在驱动设置中更新PostgreSQL驱动至最新兼容版本,确保驱动适配ARM环境下的容器。
- 核对连接参数:确认DataGrip的连接配置与psql完全一致:
- 主机地址填写
localhost或127.0.0.1 - 端口保持5432
- 用户名为默认的
postgres - 密码正确设置为
123456
- 主机地址填写
内容的提问来源于stack exchange,提问作者Lix Li
相关产品推荐
相关产品推荐

