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

NestJS连接PostgreSQL失败:TypeOrmModule无法连接数据库

解决NestJS连接PostgreSQL容器失败的问题

核心问题:端口配置不匹配

你的Docker Compose配置中将容器内部的PostgreSQL默认端口(5432)映射到了主机的5432端口,但.env文件里配置的DB_PORT却是5433,导致NestJS尝试连接错误的端口,引发连接失败。

解决方案

方案1:修改.env文件的端口配置(推荐)

将.env中的DB_PORT改为5432,与Docker映射的主机端口保持一致:

DB_HOST=localhost
DB_USERNAME=root
DB_PASSWORD=root
DB_PORT=5432
DB_NAME=postgres

方案2:修改Docker Compose的端口映射(仅当需要自定义主机端口时使用)

如果必须用5433端口访问数据库,调整Docker Compose的端口映射规则:

version: '3.9'
services:
  postgres:
    image: postgres:13.3
    environment:
      POSTGRES_DB: 'postgres'
      POSTGRES_USER: 'root'
      POSTGRES_PASSWORD: 'root'
    ports:
      - '5433:5432'

额外注意事项

  1. 实体配置缺失:当前TypeOrmModule配置中entities数组为空,后续需要添加实体类路径(例如entities: [__dirname + '/**/*.entity{.ts,.js}']),否则TypeORM无法识别数据库表结构。
  2. 重启验证:修改配置后,先重启Docker容器(执行docker-compose down && docker-compose up),再重启NestJS服务(执行npm run start:dev)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 14:02:45