我使用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示例。
4条答案
按热度按时间d6kp6zgx1#
我遇到了和你一样的问题,在尝试重新安装rm -rf xxx.pid等之后,我最终执行了以下命令,并最终能够连接到PostgreSQL数据库。
brew install postgresql
1.出现一条错误消息
1.运行
createdb
(因为Mac在安装PostgreSQL后不会创建用户名数据库)1.执行
psql
以成功连接。uplii1fm2#
关于此错误,您正在尝试连接到
jackcollins
,请测试是否尝试使用数据库标志进行连接?:ftf50wuq3#
在没有
-d <database_name>
的情况下,psql
将使用操作系统用户名作为数据库名。在许多情况下,最好是显式的,而不是隐式的,特别是在处理新示例时。此外,使用-h <host_name>
、-p <port_number>
和-U <user_name>
。这样您就知道您是以谁的身份连接的。以及如何。它是在这里拼出psql和由于psql
是一个libpq
程序在这里更详细的关键词。rekjcdws4#
如果你输入
在终端中,你会看到默认的数据库是你的用户名。2除非你在PostgreSQL中有那个数据库,否则你会得到一个错误。3相反,你可以运行下面的命令
此外,如果要以特定用户(默认情况下为当前用户)身份登录:
最后一个-W是密码。希望它能帮上忙!