我在OS X中使用自制程序中的postgres,但是当我重新启动系统时,有时postgres在重新启动后没有启动,所以我手动尝试启动它postgres -D /usr/local/var/postgres
,但随后发生了以下消息的错误:FATAL: could not open directory "pg_tblspc": No such file or directory
.
它最后一次发生时,我无法将其恢复到原始状态,所以我决定卸载整个postgres系统,然后重新安装它并创建用户,表格,数据集等等......真是太恶心了,但是它经常发生在我的系统上,比如几个月就会发生一次.
那为什么它pg_tblspc
经常丢失文件?我有什么办法可以避免丢失文件吗?
我没有将我的自制软件和postgres升级到最新版本(即我一直在使用相同的版本).另外,我在postgres数据库上做的所有事情都是删除表并每天填充新数据.我没有更改用户,密码等...
编辑(mbannert):我觉得有必要添加这个,因为这个问题对谷歌来说是最受欢迎的,而且很多症状都不同.Homebrewers可能会遇到此错误消息:
No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)
所以,如果你刚刚在优胜美地升级之后经历过这个,那么现在你已经开始阅读这个帖子了.
我正在将PostgreSQL数据库用于我的Ruby on Rails应用程序(在Mac OS X 10.9上).
有关如何升级PostgreSQL数据库的详细说明吗?
我担心我会破坏数据库中的数据或弄乱它.
我正在编写一个rails 4.0.2应用程序,并且我试图在AJAX事件之后在我的视图中显示Flash通知.
在我看来,我会显示一个日历,其中包含用户可以点击的日期.当他们这样做时,我通过onclick事件处理程序触发一个AJAX事件,该处理程序更新我的模型,添加或删除记录.触发事件后,我完成页面刷新以显示更新的结果.
我发现在JS点击事件期间我必须刷新页面才能使视图正确更新.仅在控制器中重定向或渲染是不够的.
所以,为此,我在控制器中设置了Flash通知...
def set_conflicts
@conflict = @member.conflicts.for_date(params[:date]).first
if @conflict
@conflict.destroy
else
conflict_date = Date.parse(params[:date])
unless Conflict.create(
month: conflict_date.month,
day: conflict_date.day,
year: conflict_date.year,
member: @member
)
flash[:alert] = 'Oops, there was a problem updating conflicts'
end
end
flash[:notice] = 'This is a test!'
redirect_to manage_member_conflicts_path(@member)
end
Run Code Online (Sandbox Code Playgroud)
...并在我的application.haml中包含以下flash显示逻辑...
...
%body
= p flash.inspect
- flash.each do |type, message|
= content_tag(:div, message, :class => "flash-#{type}")
= render 'devise/menu/login_items'
= yield
Run Code Online (Sandbox Code Playgroud)
注意:我在视图中使用HAML而不是ERB
然而,无论我尝试什么,Flash消息都不会显示.除了flash消息之外,其他所有工作都按预期工作,我无法弄清楚原因. …
postgresql ×2
ajax ×1
homebrew ×1
javascript ×1
macos ×1
osx-yosemite ×1
rails-flash ×1
upgrade ×1