我们在PG中遇到了例外情况。谷歌搜索没有任何结果。
我们的代码中触发异常的行是:
@user = User.new(params[:user])
所以我们正在思考我们的堆栈中的某个地方。我们正在使用ActiveRecord 3.2.12
ActiveRecord::StatementInvalid - PG::Error: : SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"users"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
:
bundle/ruby/1.9.1/gems/activerecord-3.2.12/lib/active_record/connection_adapters/postgresql_adapter.rb:1153:in `async_exec'
/bundle/ruby/1.9.1/gems/activerecord-3.2.12/lib/active_record/connection_adapters/postgresql_adapter.rb:1153:in `exec_no_cache'
答案 0 :(得分:1)
我怀疑是ActiveRecord。看看你的错误信息:
PG::Error: : SELECT
“::”之间的空位可能是你的PostgreSQL错误消息应该去的地方。
另外 - 你说它有时会工作而不是其他人。这不是你对数据库的期望。确保PostgreSQL记录错误然后你可以确定。
您可能正在查看类似于耗尽连接,网络问题或Ruby中的资源问题。不幸的是,看起来ActiveRecord正在抛出错误消息。