有很多类似的问题,但都略有不同。
Gemfile:
source 'https://rubygems.org'
gem 'rails', '4.2.6'
gem 'pg', '~> 0.15'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
group :development, :test do
gem 'byebug'
gem 'rspec-rails', '~> 3.4'
end
group :development do
gem 'web-console', '~> 2.0'
gem 'spring'
end
Rails 4.2.6并在返回的命令行中执行psql
:
<code>PG::ConnectionBad(无法连接到服务器:没有这样的文件或目录。服务器在本地运行并接受Unix域套接字上的连接“/tmp/.s.PGSQL.5432”?
在启动rails服务器并尝试加载根路径之后,在浏览器中也得到了相同的结果。
我发现在命令行中执行postgres
也不起作用,返回:
postgres does not know where to find the server configuration file.
You must specify the --config-file or -D invocation option or set the PGDATA environment variable.
为了方便,重新发布了答案:
添加:
如果在OSX上,请使用自制程序
管理您的安装。
安装自制软件: /usr/bin/ruby -e “$(卷曲 -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
更新它:酿造更新
安装数据库:brew install postgresql
使用launchctl加载:<code>launchct加载-w/usr/local/opt/postgresql/homebrew.mxcl.postgresq.plist
回答:
它可能像陈旧的PID文件一样简单。它可能会无声地失败,因为您的计算机没有完全完成关机过程,这意味着postgres没有删除PID(进程ID)文件。postgres使用PID文件来确保一次只有一个服务器实例在运行。因此,当它再次启动时,它会失败,因为已经有一个PID文件告诉postgres服务器的另一个实例已经启动(即使它没有运行,它只是没有关闭和删除PID)。
>
要修复此问题,请删除/重命名PID文件。查找postgres数据目录。在使用自制软件的MAC上,它是/usr/local/var/postgres/
,在其他系统上,它可能是/usr/var/postgres/
。
要确定这是问题所在,请查看日志文件(< code>server.log)。在最后几行,您将看到:< code>FATAL:锁文件“postmaster.pid”已经存在提示:是否有另一个postmaster (PID 347)正在数据目录“/usr/local/var/postgres”中运行?
如果是这样,rmpostmaster.pid
重新启动服务器。在使用launchctl(使用自制程序)的mac上,以下命令将重新启动服务器。
launchctl unload/usr/local/opt/postgresql/homebrew.mxcl.postgresq.plist
launchctl-load-w/usr/local/opt/postgresql/homebrew.mxcl.postgresq.plist
我发现了这个问题,并在命令行中运行了export PGDATA=/usr/local/var/postgres
。这允许我使用postgres
启动postgres(我甚至不知道这是必要的——为什么Rails不这样做呢?)然后rake db: create
,启动rails服务器(在新选项卡中),一切正常!我不知道这是否是最好的解决方案,但认为值得分享。
您可以尝试删除 /usr/本地/var/postgres/postmaster.pid
,然后重新启动 postgres
。
在Mac OS上,您可以使用午餐
轻松重启。
每次运行Rails4.0服务器时,都会得到这个输出。 我正在运行小牛OS X10.9,所以我不知道这是不是问题所在。我已经试了我能试的一切,但似乎都没有效果。我已经卸载并安装了postgres和pg gem多次了。 这是我的database.yml文件
我试图通过ubuntu中的命令行连接到postgresql,但它显示以下错误:- 对于这个错误,我尝试了谷歌的许多解决方案,但都没有成功。有人能在这个问题上帮我吗?
我在设置打开班次时遇到问题,并在连接到我的服务器域后收到以下错误: 我不确定这是在告诉我做什么。我尝试按字面意思使用指令,但它无法识别命令。 有什么想法吗?
问题内容: 我不确定如何解决此问题 我不知道为什么在尝试以下操作时会出现此错误: 当我尝试连接到postgres时: 问题答案: 可能是一些问题: PostgreSQL没有运行。用sudo检查 你的PostgresSQl不在端口5432上运行。你可以检查其键入 尝试连接到数据库时出现错误,例如用户名,密码或数据库名。检查它们是否是postgres要求你连接的对象,并且这是你要访问的db_name。
在我做了和之后,我的postgres遇到了一些问题。我试着卸载postgres并重新安装它,但它并没有那么好用。 这就是我所做的: 现在,在我重新安装homebrew之后,当我使用时,它不显示任何错误消息。 但是我在我的Rails应用程序中运行,它显示: 更新 这对我也管用。
注意:连接是LAN,在隧道模式下工作正常,但速度较慢