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

Windows环境下Go连接Docker中PostgreSQL提示关系不存在

问题解决:Go连接PostgreSQL提示“关系users不存在”

核心问题1:连接密码不匹配

你创建PostgreSQL容器时设置的密码是goLANGn1nja,但Go代码中的连接字符串用的是12345,这会导致你实际连接的数据库上下文和创建表的上下文不一致(即使Ping()成功,也可能是因为你后来修改过容器密码,但代码里没同步)。

修正代码中的连接字符串:

db, err := sql.Open("postgres", "host=127.0.0.1 port=5432 user=postgres dbname=postgres sslmode=disable password=goLANGn1nja")

核心问题2:Schema未指定(备选排查方向)

PostgreSQL默认使用public schema,但如果你的表被创建在其他schema下,或者客户端连接时的search_path未包含public,就会找不到表。

尝试在查询中明确指定schema:

rows, err := db.Query("SELECT * FROM public.users")

验证步骤(确保表存在于目标数据库)

在PowerShell进入容器的psql终端后,执行以下命令确认:

  1. 查看当前数据库:SELECT current_database(); —— 确认是postgres
  2. 查看所有表:\dt —— 确认users表出现在public schema下

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 02:06:07