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

从Visual Studio连接Docker中PostgreSQL报错CatalogDb不存在的解决

问题:连接Docker容器中PostgreSQL时提示"CatalogDb不存在"(实际已创建)

尝试从Visual Studio连接Docker容器内的PostgreSQL数据库,已确认CatalogDb存在,但仍触发错误:
Npgsql.PostgresException (0x80004005): 3D000: database "CatalogDb" does not exist

已验证的配置与状态

  • 容器运行正常:docker ps输出显示容器处于运行状态,端口映射为0.0.0.0:5432->5432/tcp
  • 连接字符串配置:"Server=localhost;Port=5432;Database=CatalogDb;User Id=postgres;Password=postgres;Include Error Detail=true"
  • 容器内数据库存在:进入容器执行PostgreSQL命令\l,可确认CatalogDb已创建
  • Docker配置无误:docker-compose.yml及docker-compose.override.yml配置符合预期

解决步骤

  1. 更新appsettings.json中的数据库连接端口为5433
  2. 修改docker-compose.yml的端口映射规则为5433:5432

原因分析

本地默认PostgreSQL端口5432已被其他进程占用,导致Visual Studio实际连接的并非Docker容器内的PostgreSQL实例,而是占用该端口的其他数据库服务,因此出现目标数据库不存在的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 15:27:36