Rails and jsonb type "jsonb" does not exist

medBouzid picture medBouzid · Apr 1, 2015 · Viewed 23.1k times · Source
psql --version
psql (PostgreSQL) 9.4.1

rails -v
Rails 4.2.0

I added a jsonb column through migration like that

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

I get this error :

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

any help ?

Answer

medBouzid picture medBouzid · Apr 3, 2015

After looking around I discovered that my postgresql version is not 9.4 by running the right command

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

So I had simply to upgrade my postgresql to 9.4.

By the way I followed this article to do the upgrading which I found very handy.

Now :

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

Hope this help someone in the same situation.