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

Railway上PostgreSQL数据库连接认证失败问题求助

解决方案:修复Spring Boot数据源配置项错误

核心修复步骤

将你的Spring Boot配置中的 spring.datasource.name 替换为 spring.datasource.username,并填入Railway提供的正确数据库用户名(从IDEA能正常连接的凭据来看,应为postgres):

spring.datasource.url=jdbc:postgresql://roundhouse.proxy.rlwy.net:28209/railway
spring.datasource.username=postgres  # 替换原spring.datasource.name
spring.datasource.password=somePass
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true  # 修正拼写错误:ture → true

问题原因分析

  1. 配置项混淆:Spring Boot中,spring.datasource.name 用于定义数据源Bean的名称,并非数据库登录用户名。正确的用户名配置项是 spring.datasource.username。
  2. 默认用户 fallback:因未指定正确的数据库用户名,Spring Boot会自动使用当前运行环境的系统用户作为默认值:
    • 本地运行时,系统用户为artem,因此报错认证失败针对用户artem
    • 服务器运行时,系统用户为root,因此报错针对用户root
  3. IDEA能正常连接的原因:你在IDEA中手动填入了正确的用户名(postgres),绕过了配置项错误。

额外检查点

  • 确认Railway提供的所有数据库凭据(用户名、密码、端口、数据库名)与配置完全一致,不要手动修改
  • 检查服务器环境是否存在覆盖配置文件的环境变量(如SPRING_DATASOURCE_USERNAME),若存在需调整为正确值
  • 修正配置中的拼写错误:format_sql=ture → format_sql=true,否则Hibernate SQL格式化功能不会生效

内容的提问来源于stack exchange,提问作者Артем Лебідь

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 03:10:00