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

AWS上PostgreSQL RDS无法执行rails db:create的问题排查

排查方向
  • 核对配置中的用户信息与实际RDS用户匹配:错误提示认证失败的用户是my_user,但你的database.yml开发/测试环境硬编码的用户名是use、密码是gresgres,和报错用户完全不符。先确认你本地Shell/EC2连接RDS时使用的用户名是my_user,那必须把database.yml里default块的username改成my_user,密码替换为你连接时用的正确密码。
  • 验证生产环境环境变量正确性:如果执行的是生产环境的数据库创建命令,需确认PG_RDS_USERNAME、PG_RDS_PASSWORD等环境变量是否正确设置。可以在终端执行echo $PG_RDS_USERNAME、echo $PG_RDS_PASSWORD查看变量值,检查是否存在拼写错误、大小写错误或特殊字符未正确处理的情况。
  • 确认Rails执行的环境:rails db:create默认使用开发环境配置,如果你实际要操作的是RDS生产环境,必须加上环境参数:RAILS_ENV=production rails db:create,否则会加载开发环境的错误用户配置,导致认证失败。
  • 检查RDS用户的建库权限:虽然你能通过Shell连接RDS,但my_user可能没有创建数据库的权限。可以在Shell连接后执行SQL命令:ALTER USER my_user CREATEDB;,给用户添加创建数据库的权限,rails db:create需要该权限才能执行。
  • 清除Rails配置缓存:Rails可能缓存了旧的配置信息,执行rails tmp:clear清除临时缓存文件后,再重新尝试执行数据库创建命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 09:55:19