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

时间:2012-10-09 08:57:24

标签: ruby-on-rails ruby postgresql

我是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:在   initialize' activerecord (3.2.8) lib/active_record/connection_adapters/postgresql_adapter.rb:1213:in 新'activerecord(3.2.8)   LIB / active_record / connection_adapters / postgresql_adapter.rb:1213:在   connect' activerecord (3.2.8) lib/active_record/connection_adapters/postgresql_adapter.rb:329:in 初始化'activerecord(3.2.8)   LIB / active_record / connection_adapters / postgresql_adapter.rb:28:在   new' activerecord (3.2.8) lib/active_record/connection_adapters/postgresql_adapter.rb:28:in postgresql_connection'activerecord(3.2.8)   LIB / active_record / connection_adapters /抽象/ connection_pool.rb:309:在   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 /抽象/ connection_pool.rb:241:在   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 /抽象/ connection_pool.rb:236:在   block in checkout' /home/jashwant/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in mon_synchronize'activerecord(3.2.8)   LIB / active_record / connection_adapters /抽象/ connection_pool.rb:233:在   checkout' activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:96:in 阻止连接'   /home/jashwant/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in   mon_synchronize' activerecord (3.2.8) lib/active_record/connection_adapters/abstract/connection_pool.rb:95:in 连接'activerecord(3.2.8)   LIB / active_record / connection_adapters /抽象/ connection_pool.rb:404:在   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 /抽象/ connection_specification.rb:144:在   connection' activerecord (3.2.8) lib/active_record/query_cache.rb:67:in救援电话'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:in call'actionpack(3.2.8)   lib / action_dispatch / middleware / callbacks.rb:28:in block in call' activesupport (3.2.8) lib/active_support/callbacks.rb:405:in 运行 _3261957284442330683_ 致电 _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:in   run_callbacks' actionpack (3.2.8) lib/action_dispatch/middleware/callbacks.rb:27:in调用'actionpack   (3.2.8)lib / action_dispatch / middleware / reloader.rb:65:in call' 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:in call' actionpack (3.2.8) lib/action_dispatch/middleware/show_exceptions.rb:56:in call'   railties(3.2.8)lib / rails / rack / logger.rb:26:in call_app' railties (3.2.8) lib/rails/rack/logger.rb:16:in call'actionpack(3.2.8)   lib / action_dispatch / middleware / request_id.rb:22:in call' rack (1.4.1) lib/rack/methodoverride.rb:21:in call'rack(1.4.1)   lib / rack / runtime.rb:17:in call' activesupport (3.2.8) lib/active_support/cache/strategy/local_cache.rb:72:in call'rack   (1.4.1)lib / rack / lock.rb:15:in call' actionpack (3.2.8) lib/action_dispatch/middleware/static.rb:62:in call'railties(3.2.8)   lib / rails / engine.rb:479:在call' railties (3.2.8) lib/rails/application.rb:223:in调用'机架(1.4.1)   lib / rack / content_length.rb:14:in call' railties (3.2.8) lib/rails/rack/log_tailer.rb:17:in call'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:in service'   /home/jashwant/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:94:in   {_ 1}}阻止在start_thread'

我现在不使用数据库。我尝试run' /home/jashwant/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:191:in ,但它返回相同的错误。

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

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

1 个答案:

答案 0 :(得分:3)

虽然,我没有使用数据库,但database.yml中指定配置中的端口解决了问题。默认情况下,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