sql >> Database >  >> RDS >> PostgreSQL

Hoe maak je een nieuwe database aan met de hstore-extensie al geïnstalleerd?

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!



  1. Hoe uren aftrekken van een datetime in MySQL?

  2. SQL Server-transactielogboek — Deel 1

  3. Snapshots van SQL Server-database -3

  4. PostgreSQL configureren voor observeerbaarheid