ruby-on-rails psql:错误:通过套接字“/tmp/.s.PGSQL.5432”连接到服务器失败:FATAL:数据库“myname”不存在

cunj1qz1  于 2022-12-15  发布在  Ruby
关注(0)|答案(4)|浏览(346)

我使用postgresql在本地环境中运行了一个rails应用程序。今天早上我启动了一个新的应用程序,安装了pg gem等。我在尝试运行时遇到了以下错误

psql
psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: FATAL:  database "jackcollins" does not exist

奇怪的是数据库名称“jackcollins”来自我的另一个rails应用程序。
我跑了

pgrep -l postgres

结果是

20902 postgres
20919 postgres
20920 postgres
20921 postgres
20922 postgres
20923 postgres
20924 postgres

我不知道如何继续,使这些应用程序都可以运行自己的postgres示例。

d6kp6zgx

d6kp6zgx1#

我遇到了和你一样的问题,在尝试重新安装rm -rf xxx.pid等之后,我最终执行了以下命令,并最终能够连接到PostgreSQL数据库。

  1. brew install postgresql
    1.出现一条错误消息
    1.运行createdb(因为Mac在安装PostgreSQL后不会创建用户名数据库)
    1.执行psql以成功连接。
uplii1fm

uplii1fm2#

关于此错误,您正在尝试连接到jackcollins,请测试是否尝试使用数据库标志进行连接?:

psql -d your_database_name
ftf50wuq

ftf50wuq3#

在没有-d <database_name>的情况下,psql将使用操作系统用户名作为数据库名。在许多情况下,最好是显式的,而不是隐式的,特别是在处理新示例时。此外,使用-h <host_name>-p <port_number>-U <user_name>。这样您就知道您是以谁的身份连接的。以及如何。它是在这里拼出psql和由于psql是一个libpq程序在这里更详细的关键词。

rekjcdws

rekjcdws4#

如果你输入

psql --help

在终端中,你会看到默认的数据库是你的用户名。2除非你在PostgreSQL中有那个数据库,否则你会得到一个错误。3相反,你可以运行下面的命令

psql -d your_database_name

此外,如果要以特定用户(默认情况下为当前用户)身份登录:

psql -d your_database_name -U your_username -W

最后一个-W是密码。希望它能帮上忙!

相关问题