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

Docker Compose中PostgreSQL副本拒绝连接问题求助

PostgreSQL副本库连接拒绝问题排查方案
  • 检查Docker Compose服务配置细节

    • 确认副本库服务的端口映射5433:5432是否正确,同时注意同一Docker网络内的服务通信需使用容器内部端口5432,而非主机映射的5433。比如副本库对应的PgBouncer配置中,数据库连接地址应写host=<副本库服务名> port=5432,而非主机IP+5433。
    • 验证所有服务(主库、副本库、PgBouncer、后端应用)是否配置在同一自定义网络下,避免默认bridge网络的隔离限制。
  • 测试容器间网络可达性

    • 进入任意同网络的容器(如主库容器),执行命令psql -h <副本库服务名> -p 5432 -U <数据库用户名>,直接测试副本库的容器内端口连通性。若连接失败,优先排查服务名拼写错误、网络配置遗漏。
  • 核对副本库的实际生效配置

    • 进入副本库容器,执行cat /var/lib/postgresql/data/postgresql.conf | grep listen_addresses,确认listen_addresses值为'*',而非仅本地回环地址。
    • 查看cat /var/lib/postgresql/data/pg_hba.conf,确认存在允许Docker网络段的连接规则,例如host all all 172.16.0.0/12 md5(根据你的自定义网络子网调整)。若初始化脚本未正确覆盖配置文件,可能导致实际生效的配置与预期不符。
  • 检查主机端口占用情况

    • 在宿主机执行netstat -tulpn | grep 5433(Linux)或netstat -ano | findstr :5433(Windows),确认5433端口未被其他进程占用。若占用,修改Compose中的端口映射为其他未被使用的端口(如5434:5432)后重试。
  • 验证副本库容器监听状态

    • 进入副本库容器,执行ss -tulpn | grep postgres,确认PostgreSQL进程确实在0.0.0.0:5432监听,而非仅绑定127.0.0.1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 00:26:11