Skip to content

Instantly share code, notes, and snippets.

Created August 8, 2012 15:55
What would you like to do?
Enabling hstore for new postgresql 9.1 and rails 3 install on ubuntu 12.04
RAILS_ENV=production rake db:setup
# produces the error's a no-worky
psql:/yourprojectpath/yourproject/db/structure.sql:29: ERROR: could not open extension control file "/usr/share/postgresql/9.1/extension/hstore.control": No such file or directory
# hstore postgresql extension needs to be installed, so....
sudo apt-get install postgresql-contrib
# now your extension should be available to enable so log in with psql
psql -d yourproject_production -U yourdbuser -W
# in the psql shell
# now you're golden, may need to clean up and re-run
RAILS_ENV=production rake db:drop
RAILS_ENV=production rake db:setup
Copy link

Hengjie commented Jan 27, 2013

Works fine here on Ubuntu 12.10

Copy link

I was having the same problem, Ubuntu 12.10 32 bit, rails 3, postgresql 9.1
confirming that this fix worked for me

Copy link

hm, I have issues with permissions.

# psql -d discourse_development -U root -W
Password for user root: 
psql (9.1.5, server 9.1.7)
Type "help" for help.

discourse_development=> CREATE EXTENSION hstore;
ERROR:  permission denied to create extension "hstore"
HINT:  Must be superuser to create this extension.

Copy link

Everything worked. thanks

Copy link

Copy link

rtdp commented Apr 15, 2013

worked for me too!

Copy link

@giedriusr I'm having the same permissions problem as you had. Could you tell me how you could get around them? Thanks in advance!

Copy link

tokhi commented May 23, 2013

I also had permission issue, I just log in to my DB via psql and then executed the below command:


problem solved.^^

Copy link

Like a charm.. :)

Copy link

works fine for me PG 9.1 + Ubuntu 12.10, thanks!

Copy link

What I did was just

postgres# ALTER ROLE <user_name> SUPERUSER;

And that's it! Run migration again.

Copy link

drob commented Aug 21, 2013

Instead of opening up a psql shell, you can just run psql -c "CREATE EXTENSION hstore"

That lets you script this whole shebang.

Copy link

discourse project will need this

Copy link


Copy link

I had the same permission issue on postgresql 9.4 on ubuntu 12.04 LTS. Doing the following worked:

sudo su postgres -c "psql db_name -c 'CREATE EXTENSION hstore;'"
I got this from: dokku-alt/dokku-alt#66

Copy link

@waterlink funny:)

Copy link

avdept commented Feb 26, 2016

@scifisamurai, thanks, that helped me.

Copy link

bogdan8 commented Sep 10, 2016


Copy link

alexventuraio commented Jan 24, 2018

I'm using Rails 5.0.2 and Postgres 9.5 on Ubuntu 16.04.3 LTS and what worked for me are the next two options:

First one:

- Install the extension with:
    sudo apt-get install postgresql-contrib
- Enable the extension in the corresponding Data Base:
    sudo su postgres -c "psql my_db_production -c 'CREATE EXTENSION hstore;'"

Second one:

- Install the extension with:
    sudo apt-get install postgresql-contrib
- Login as super user in Postgres
    sudo su - postgres
- Enter to your Data Base console:
    psql -d my_db_production -W
- In the psql shell run:
- Exit

Now migrations run with out any error!
I hope it could be useful!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment