Rails和jsonb类型" jsonb"不存在

时间:2015-04-01 14:31:35

标签: ruby-on-rails postgresql jsonb

psql --version
psql (PostgreSQL) 9.4.1

rails -v
Rails 4.2.0

我通过迁移添加了一个jsonb列

class AddPreferencesToUsers < ActiveRecord::Migration
  def change
    add_column :users, :preferences, :jsonb, null: false, default: '{}'
    add_index :users, :preferences, using: :gin
  end
end

我收到此错误:

PG::UndefinedObject: ERROR:  type "jsonb" does not exist
LINE 1: SELECT 'jsonb'::regtype::oid

任何帮助?

1 个答案:

答案 0 :(得分:66)

环顾四周后,我通过运行正确的命令

发现我的postgresql版本不是9.4
postgres=# SHOW SERVER_VERSION;
server_version 
----------------
9.1

所以我只是将postgresql升级到9.4。

顺便说一下,我跟着this article进行升级,我觉得非常方便。

现在:

postgres=# SHOW SERVER_VERSION;
 server_version 
----------------
 9.4.1

希望这可以帮助处于相同情况的人。