首页 文章

PG ::错误服务器意外关闭了连接

提问于
浏览
5

我是Ruby on rails的新手 . 我已经通过教程 learning by examples 创建了两个基本的演示应用程序

突然它停止为我的新示例应用程序工作 .

我已经生成了一个控制器 Pages 和两个动作 homecontact 并没什么特别的 .

现在,除了 localhost:3000 的默认index.html rails页面之外,我无法打开任何页面 . localhost:3000/pages/homelocalhost:3000/pages/contact 处的页面返回此错误 .

PG ::错误服务器意外关闭连接这可能意味着服务器在处理请求之前或处理时异常终止 .

有时(通常当我重新启动postgresql时),

PG ::错误服务器意外关闭连接这可能意味着服务器在处理请求之前或处理时异常终止 . 无法发送启动数据包:管道损坏

这是我的堆栈跟踪

activerecord(3.2.8)lib / active_record / connection_adapters / postgresql_adapter.rb:1213:初始化'activerecord(3.2.8)lib / active_record / connection_adapters / postgresql_adapter.rb:1213:在新的'activerecord(3.2.8)lib中/active_record/connection_adapters/postgresql_adapter.rb:1213:in connect'activerecord(3.2.8)lib / active_record / connection_adapters / postgresql_adapter.rb:329:初始化'activerecord(3.2.8)lib / active_record / connection_adapters / postgresql_adapter.rb :28:在新的'activerecord(3.2.8)lib / active_record / connection_adapters / postgresql_adapter.rb:28:在postgresql_connection'activerecord(3.2.8)lib / active_record / connection_adapters / abstract / connection_pool.rb:309:in new_connection' activerecord(3.2.8)lib / active_record / connection_adapters / abstract / connection_pool.rb:319:in checkout_new_connection'activerecord(3.2.8)lib / active_record / connection_adapters / abstract / connection_pool.rb:241:in block(2 levels)in checkout'activerecord(3.2.8)lib / active_record / connection_ adapters / abstract / connection_pool.rb:236:in循环'activerecord(3.2.8)lib / active_record / connection_adapters / abstract / connection_pool.rb:236:在checkout中的块中'/home/jashwant/.rvm/rubies/ruby- 1.9.3-p194 / lib / ruby / 1.9.1 / monitor.rb:211:在mon_synchronize'activerecord(3.2.8)中lib / active_record / connection_adapters / abstract / connection_pool.rb:233:在checkout中'activerecord(3.2 . 8)lib / active_record / connection_adapters / abstract / connection_pool.rb:96:in block in connection'/home/jashwant/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb :211:在mon_synchronize'activerecord(3.2.8)lib / active_record / connection_adapters / abstract / connection_pool.rb:95:在连接'activerecord(3.2.8)lib / active_record / connection_adapters / abstract / connection_pool.rb:404:in retrieve_connection'activerecord(3.2.8)lib / active_record / connection_adapters / abstract / connection_specification.rb:170:in retrieve_connection'activerecord(3.2.8)lib / active_record / connection_adapters / abstract / connection_specificat ion.rb:144:连接'activerecord(3.2.8)lib / active_record / query_cache.rb:67:inrescue in call'activerecord(3.2.8)lib / active_record / query_cache.rb:61:in call'activerecord( 3.2.8)lib / active_record / connection_adapters / abstract / connection_pool.rb:473:在调用'actionpack(3.2.8)lib / action_dispatch / middleware / callbacks.rb:28:在调用块中'activesupport(3.2.8) lib / active_support / callbacks.rb:405:in run_3261957284442330683_call_599627944998934036__callbacks'activesupport(3.2.8)lib / active_support / callbacks.rb:405:in __run_callback'activesupport(3.2.8)lib / active_support / callbacks.rb:385:in_run_call_callbacks' activesupport(3.2.8)lib / active_support / callbacks.rb:81:在run_callbacks'actionpack(3.2.8)lib / action_dispatch / middleware / callbacks.rb:27:incall'actionpack(3.2.8)lib / action_dispatch / middleware /reloader.rb:65:in调用'actionpack(3.2.8)lib / action_dispatch / middleware / remote_ip.rb:31:in call'actionpack(3.2.8)lib / action_dispatch / middleware / debug_exceptions.rb:16 :在调用'actionpack(3.2.8)lib / action_dispatch / middleware / show_exceptions.rb:56:incall'railties(3.2.8)lib / rails / rack / logger.rb:26:in call_app'ravties(3.2.8 )lib / rails / rack / logger.rb:16:incall'actionpack(3.2.8)lib / action_dispatch / middleware / request_id.rb:22:in call'stack(1.4.1)lib / rack / methodoverride.rb: 21:incall' rack(1.4.1)lib / rack / runtime.rb:17:in call'activesupport(3.2.8)lib / active_support / cache / strategy / local_cache.rb:72:incall' rack(1.4.1 )lib / rack / lock.rb:15:在调用'actionpack(3.2.8)lib / action_dispatch / middleware / static.rb:62:incall'railties(3.2.8)lib / rails / engine.rb:479:在电话中'railties(3.2.8)lib / rails / application.rb:223:incall' rack(1.4.1)lib / rack / content_length.rb:14:in call'ravelties(3.2.8)lib / rails / rack / log_tailer .rb:17:incall' rack(1.4.1)lib / rack / handler / webrick.rb:59:in service'/home/jashwant/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/ 1.9.1 / webrick / httpserver.rb:138:在服务'/home/jashwant/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:94:in运行'/home/jashwant/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:191:in start_thread中的块'

我现在不使用数据库 . 我试图做 rake db:migrate 但它返回相同的错误 .

我在Ubuntu 12.04上(因为google上的一些bug与ubuntu有关)

我在SO上发现了类似的问题,但是他们正在经历一些提前阶段,因此涉及一些先进的解决方案 .

1 回答

  • 3

    虽然,我没有使用数据库,但 specifying the port in configuration in database.yml solves the problem . 默认情况下, rails new <app_name> --database=postgresql 命令不会在其中放置 port .

    这是我的配置 .

    development:
      adapter: postgresql
      encoding: unicode
      database: sample_app_development
      pool: 5  
      port: 5433
      username: myusername
      password: mypassword
      reconnect: true
    

相关问题