Krótka historia:
Zainstaluj hstore w bazie danych szablonu1:
psql -d template1 -c 'create extension hstore;'
Objaśnienie krok po kroku:
Zgodnie z dokumentacją PostgreSQL:
CREATE EXTENSION ładuje nowe rozszerzenie do bieżącej bazy danych.
Instalowanie rozszerzenia zależy od bazy danych. Poniższy tekst zwraca aktualną nazwę bazy danych:
$ psql -c 'select current_database()'
current_database
------------------
username
(1 row)
W przypadku, gdy masz bazę danych nazwaną tak, jak Twoja nazwa użytkownika. Teraz z dbtest
:
$ psql -d dbtest -c 'select current_database()'
current_database
------------------
dbtest
(1 row)
OK, rozumiesz. Teraz, aby utworzyć nowe bazy danych z zainstalowanym hstore, musisz zainstalować go w template1
Baza danych. Zgodnie z dokumentem:
CREATE DATABASE faktycznie działa poprzez kopiowanie istniejącej bazy danych. Domyślnie kopiuje standardową systemową bazę danych o nazwie template1.
Zróbmy to:
$ psql -d template1 -c 'create extension hstore;'
I sprawdź, czy działa :
$ 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)
Gotowe!