Add postgres hstore post
This commit is contained in:
parent
72b99dd248
commit
9aef491b94
|
@ -0,0 +1,38 @@
|
||||||
|
+++
|
||||||
|
date = "2015-08-05"
|
||||||
|
title = "Postgresq error: type 'hstore' does not exist"
|
||||||
|
tags = ["postgresql"]
|
||||||
|
description = "When importing a postgres dump into a clean database I got an error about type 'hstore' not existing. This is how your fix that."
|
||||||
|
slug = "postgresql-error-type-hstore-does-not-exist"
|
||||||
|
+++
|
||||||
|
|
||||||
|
Today I was programming and messed up my database schema in such a way that I just wanted to restore a recent backup and start over from there.
|
||||||
|
|
||||||
|
dropdb app_development
|
||||||
|
createdb app_development
|
||||||
|
|
||||||
|
Unfortunately I ran into an error:
|
||||||
|
|
||||||
|
> PostgreSQL error: type 'hstore' does not exist
|
||||||
|
|
||||||
|
hstore is a Postgresql extension (available since postgresql-9.x) that allows you store sets of key/value pairs within a single Postgresql value (read column). Read more on hstore in the [Postgresql documentation][1].
|
||||||
|
|
||||||
|
Anyway, the hstore extension is not loaded for my brand new database. No problem, simply add it with this command:
|
||||||
|
|
||||||
|
psql app_development -c 'create extension hstore;'
|
||||||
|
|
||||||
|
That's all.
|
||||||
|
|
||||||
|
## Bonus points
|
||||||
|
|
||||||
|
If you use hstore for almost any database, you could add it to the `template1` database.
|
||||||
|
|
||||||
|
FYI: Postgresql creates a new databases by copying another. `template1` is a default database provided by Postgresql for the purpose of creating new database.
|
||||||
|
|
||||||
|
Adding hstore to `template1` is just as easy as adding it to your own database.
|
||||||
|
|
||||||
|
psql template1 -c 'create extension hstore;'
|
||||||
|
|
||||||
|
Whenever your use `createdb` now, the new database will have the hstore extension by default.
|
||||||
|
|
||||||
|
[1]: http://www.postgresql.org/docs/9.0/static/hstore.html
|
Loading…
Reference in New Issue
Block a user