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

使用Node.js+Express访问Render PostgreSQL遇ENOTFOUND错误求助

解决Node.js/Express连接Render PostgreSQL时的getaddrinfo ENOTFOUND错误

错误日志

[nodemon] restarting due to changes...
[nodemon] starting `node server.js index1.js`
Server is running on port:  3000
Error got in API:  Error: getaddrinfo ENOTFOUND dpg-ckdsqhtjhfbs73803ts0-a.oregon-postgres.render.com
at C:\Users\user\OneDrive\Documents\ALL_RELATED_WITH_\testbackapi\todobackapi\node_modules\pg-pool\index.js:45:11
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async C:\Users\user\OneDrive\Documents\ALL_RELATED_WITH_\testbackapi\todobackapi\index1.js:46:20 {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'dpg-ckdsqhtjhfbs73803ts0-a.oregon-postgres.render.com'
}

解决方案

  • 核对数据库主机名准确性
    登录Render控制台,复制数据库实例的官方主机地址,和代码中的配置逐一比对,避免拼写错误。同时在本地终端执行ping dpg-ckdsqhtjhfbs73803ts0-a.oregon-postgres.render.com,如果显示无法解析,说明域名存在问题或网络无法访问该域名。

  • 检查Render数据库状态
    确认Render上的PostgreSQL实例处于「运行中」状态,若实例被暂停或已删除,先恢复或重新创建实例再尝试连接。

  • 验证网络与防火墙设置
    关闭本地防火墙、代理工具后重试连接;若处于公司网络,联系网管确认是否允许访问外部5432端口(PostgreSQL默认端口)。

  • 修正数据库连接配置
    确保连接配置包含Render要求的所有参数,尤其是SSL设置,示例配置如下:

    const { Pool } = require('pg');
    const pool = new Pool({
      host: 'dpg-ckdsqhtjhfbs73803ts0-a.oregon-postgres.render.com',
      port: 5432,
      user: '你的数据库用户名',
      password: '你的数据库密码',
      database: '你的数据库名称',
      ssl: { rejectUnauthorized: false }
    });
    
  • 清除本地DNS缓存
    若本地DNS解析异常,执行对应系统的缓存清除命令:

    • Windows:ipconfig /flushdns
    • macOS:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
    • Linux:systemd-resolve --flush-caches

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 08:01:18