主机pgAdmin连接Docker中Airflow Postgres失败:密码验证错误
问题排查与解决方法
1. 确认PostgreSQL容器运行状态
先检查容器是否正常启动并运行:
docker ps
如果容器未运行,执行启动命令:
docker-compose up -d postgres
查看容器日志验证服务初始化状态,确认是否出现database system is ready to accept connections提示:
docker logs postgres
2. 调整PostgreSQL认证规则
PostgreSQL默认的pg_hba.conf可能限制了外部连接,需修改配置允许本地pgAdmin访问:
- 进入Postgres容器:
docker exec -it postgres bash
- 编辑
/var/lib/postgresql/data/pg_hba.conf文件:
vi /var/lib/postgresql/data/pg_hba.conf
- 添加或修改规则,允许所有IP通过md5密码认证:
host all all 0.0.0.0/0 md5
- 重启容器使配置生效:
docker restart postgres
3. 设置PostgreSQL监听所有地址
默认Postgres可能仅监听容器内部地址,需修改配置监听所有IP:
- 进入容器编辑
/var/lib/postgresql/data/postgresql.conf:
vi /var/lib/postgresql/data/postgresql.conf
- 修改
listen_addresses参数:
listen_addresses = '*'
- 重启容器。
4. 重置PostgreSQL密码(若旧卷覆盖配置)
如果容器是基于已有卷启动,之前的密码配置可能未被更新,可删除旧卷重新初始化:
docker-compose down -v docker-compose up -d postgres
⚠️ 此操作会删除PostgreSQL数据,执行前请备份卷内数据。
5. 核对pgAdmin连接配置
在pgAdmin创建服务器时,确保以下参数正确:
- 主机名/地址:填
localhost(端口映射正常时)或容器IP(通过docker inspect postgres | grep "IPAddress"获取) - 端口:5432
- 维护数据库:airflow
- 用户名:airflow
- 密码:airflow
- 勾选「保存密码」避免输入错误
内容的提问来源于stack exchange,提问作者abd
相关产品推荐
相关产品推荐

