Dlouhý příběh:
Nainstalujte hstore do databáze template1:
psql -d template1 -c 'create extension hstore;'
Vysvětlení krok za krokem:
Jak je uvedeno v dokumentaci PostgreSQL:
CREATE EXTENSION načte nové rozšíření do aktuální databáze.
Instalace rozšíření je specifická pro databázi. Následující vám vrátí název aktuální databáze:
$ psql -c 'select current_database()'
current_database
------------------
username
(1 row)
V případě, že máte databázi pojmenovanou podle vašeho uživatelského jména. Nyní pomocí dbtest
:
$ psql -d dbtest -c 'select current_database()'
current_database
------------------
dbtest
(1 row)
Dobře, rozumíš. Nyní, abyste mohli vytvářet nové databáze s nainstalovaným hstore, musíte jej nainstalovat do template1
databáze. Podle doc:
CREATE DATABASE ve skutečnosti funguje zkopírováním existující databáze. Ve výchozím nastavení zkopíruje standardní systémovou databázi s názvem template1.
Pojďme na to:
$ psql -d template1 -c 'create extension hstore;'
A zkontrolujte, zda to funguje :
$ 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)
Hotovo!