Lang verhaal kort:
Installeer hstore in de template1 database:
psql -d template1 -c 'create extension hstore;'
Stap voor stap uitleg:
Zoals vermeld in de PostgreSQL-documentatie:
CREATE EXTENSION laadt een nieuwe extensie in de huidige database.
Het installeren van een extensie is database-specifiek. Het volgende geeft u de huidige databasenaam:
$ psql -c 'select current_database()'
current_database
------------------
username
(1 row)
Als je een database hebt die vernoemd is naar je gebruikersnaam. Nu met dbtest
:
$ psql -d dbtest -c 'select current_database()'
current_database
------------------
dbtest
(1 row)
Oké, je hebt het. Als u nu nieuwe databases wilt maken waarop hstore is geïnstalleerd, moet u deze installeren in de template1
databank. Volgens het document:
CREATE DATABASE werkt eigenlijk door een bestaande database te kopiëren. Standaard kopieert het de standaard systeemdatabase met de naam template1.
Laten we dit doen:
$ psql -d template1 -c 'create extension hstore;'
En controleer of het werkt:
$ createdb dbtest
$ psql -d dbtest -c '\dx'
List of installed extensions
Name | Version | Schema | Description
---------+---------+------------+--------------------------------------------------
hstore | 1.0 | public | data type for storing sets of (key, value) pairs
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
(2 rows)
Klaar!