奇怪的PG错误声明无效

时间:2013-04-04 15:59:13

标签: postgresql

我们在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'

1 个答案:

答案 0 :(得分:1)

我怀疑是ActiveRecord。看看你的错误信息:

PG::Error: : SELECT

“::”之间的空位可能是你的PostgreSQL错误消息应该去的地方。

另外 - 你说它有时会工作而不是其他人。这不是你对数据库的期望。确保PostgreSQL记录错误然后你可以确定。

您可能正在查看类似于耗尽连接,网络问题或Ruby中的资源问题。不幸的是,看起来ActiveRecord正在抛出错误消息。