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

Docker自托管Retool连接本地PostgreSQL失败的解决方法

解决Docker部署Retool连接本地PostgreSQL的ECONNREFUSED错误

一、修正连接字符串

容器内的localhost指向容器自身,而非你的宿主机,原连接字符串无法访问宿主机上的PostgreSQL,需修改地址:

  • 对于Linux/macOS/Windows,可直接使用Docker官方提供的宿主机DNS名称host.docker.internal,修改后的连接字符串:
    postgresql://USERNAME:PASSWORD@host.docker.internal:5432/application?schema=public
    
  • 也可替换成宿主机的内网IP(比如192.168.1.100),示例:
    postgresql://USERNAME:PASSWORD@192.168.1.100:5432/application?schema=public
    

二、配置PostgreSQL白名单(允许Retool访问)

  1. 找到PostgreSQL的配置文件目录:
    • Linux:通常在/var/lib/postgresql/<版本号>/main
    • macOS:/Library/PostgreSQL/<版本号>/data
    • Windows:安装目录下的data文件夹
  2. 修改pg_hba.conf文件,添加访问规则:
    • 若使用host.docker.internal,添加:
      host    application     USERNAME     host.docker.internal/32     scram-sha-256
      
    • 若使用Docker默认桥接网段(通常为172.17.0.0/16),添加:
      host    application     USERNAME     172.17.0.0/16     scram-sha-256
      
    • (注:scram-sha-256为PostgreSQL认证方式,若你的数据库用的是md5,替换即可)
  3. 修改postgresql.conf文件,将listen_addresses参数改为:
    listen_addresses = '*'
    
    这一步让PostgreSQL监听所有网卡的请求,默认仅监听localhost。
  4. 重启PostgreSQL服务:
    • Linux:sudo systemctl restart postgresql
    • macOS(Homebrew安装):brew services restart postgresql
    • Windows:在系统服务列表中重启PostgreSQL服务

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 05:10:32