误连接至PostgreSQL默认数据库postgres,如何修正?
问题分析与解决
你的数据库连接URI存在格式错误,导致连接解析异常,最终默认连接到了postgres数据库。
错误原因
你提供的DATABASE_URL中,密码字段后多了一个多余的斜杠:
DATABASE_URL = postgresql://postgres:2341/@localhost:5432/workout-app?schema=public
正确的PostgreSQL连接URI格式应为:postgresql://用户名:密码@主机:端口/数据库名?参数,其中密码与主机之间仅用@分隔,不需要额外斜杠。你写法里的2341/会让连接字符串解析器误判,最终 fallback 到默认的postgres数据库。
解决方案
- 修正.env文件中的
DATABASE_URL,移除密码后的斜杠:
NODE_ENV = development DATABASE_URL = postgresql://postgres:2341@localhost:5432/workout-app?schema=public ACCESS_TOKEN = SDFvmtee3t
重启应用,确保新的环境变量生效。
清理错误创建的表(可选):
- 登录postgres数据库:
psql -U postgres - 切换到postgres数据库:
\c postgres - 查看所有表,确认错误创建的表:
\dt - 删除指定表:
DROP TABLE IF EXISTS 表名;
- 登录postgres数据库:
验证连接正确性(可选):
使用psql直接测试修正后的连接:psql postgresql://postgres:2341@localhost:5432/workout-app若能成功进入
workout-app数据库的命令行界面,说明连接配置正确。
内容的提问来源于stack exchange,提问作者Mhl
相关产品推荐
相关产品推荐

