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

Ubuntu环境下Rails使用PostgreSQL创建数据库失败求助

解决Rails db:create PG::ConnectionBad 套接字连接失败问题

以下是针对Ubuntu系统下该问题的逐步排查和解决方法:

  • 检查PostgreSQL服务状态
    套接字连接失败最常见的原因是PostgreSQL服务未运行。执行命令查看状态:

    sudo systemctl status postgresql
    

    如果显示inactive,启动服务并设置开机自启:

    sudo systemctl start postgresql
    sudo systemctl enable postgresql
    
  • 确认套接字路径是否正确
    有些情况下PostgreSQL的套接字目录可能不是默认的/var/run/postgresql/,可以通过进程信息查找实际路径:

    ps aux | grep postgres
    

    在输出中找到包含unix_socket_directories的行,记下对应的路径。然后修改config/database.yml,添加socket字段指定该路径:

    development:
      adapter: postgresql
      database: mysite_development
      socket: /实际的套接字路径/.s.PGSQL.5432
    
  • 验证数据库用户权限
    Rails默认使用当前系统用户作为PostgreSQL数据库用户,需要确保该用户在PostgreSQL中存在且有足够权限。进入PostgreSQL控制台:

    sudo -u postgres psql
    

    执行以下命令创建用户(替换your_username为你的系统用户名):

    CREATE USER your_username WITH SUPERUSER;
    

    如果用户已存在,可跳过此步骤。

  • 手动创建数据库尝试
    如果以上步骤都无效,尝试手动创建开发数据库:
    在PostgreSQL控制台中执行:

    CREATE DATABASE mysite_development;
    

    退出控制台后再执行rails db:create,此时应该能正常完成后续操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 04:50:24