Lange Rede kurzer Sinn:
Installieren Sie hstore in der Datenbank template1:
psql -d template1 -c 'create extension hstore;'
Schritt-für-Schritt-Erklärung:
Wie in der PostgreSQL-Dokumentation angegeben:
CREATE EXTENSION lädt eine neue Erweiterung in die aktuelle Datenbank.
Die Installation einer Erweiterung ist datenbankspezifisch. Folgendes gibt Ihnen den aktuellen Datenbanknamen zurück:
$ psql -c 'select current_database()'
current_database
------------------
username
(1 row)
Falls Sie eine Datenbank haben, die nach Ihrem Benutzernamen benannt ist. Jetzt mit dbtest
:
$ psql -d dbtest -c 'select current_database()'
current_database
------------------
dbtest
(1 row)
Okay, du hast es. Um nun neue Datenbanken mit installiertem hstore zu erstellen, müssen Sie es in template1
installieren Datenbank. Laut Dokument:
CREATE DATABASE funktioniert tatsächlich durch Kopieren einer vorhandenen Datenbank. Standardmäßig kopiert es die Standard-Systemdatenbank namens template1.
Gehen wir so vor:
$ psql -d template1 -c 'create extension hstore;'
Und überprüfen Sie, ob es funktioniert :
$ 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)
Fertig!