sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan opretter man en ny database med hstore-udvidelsen allerede installeret?

Lang historie kort:

Installer hstore i template1-databasen:

psql -d template1 -c 'create extension hstore;'

Trin-for-trin forklaring:

Som angivet i PostgreSQL-dokumentationen:

CREATE EXTENSION indlæser en ny udvidelse i den aktuelle database.

Installation af en udvidelse er databasespecifik. Følgende giver dig det aktuelle databasenavn:

$ psql -c 'select current_database()'
 current_database 
------------------
 username
(1 row)

I tilfælde af at du har en database opkaldt efter dit brugernavn. Nu med dbtest :

$ psql -d dbtest -c 'select current_database()'
 current_database 
------------------
 dbtest
(1 row)

Ok, du forstår det. Nu, for at oprette nye databaser med hstore installeret, skal du installere det i template1 database. Ifølge lægen:

CREATE DATABASE fungerer faktisk ved at kopiere en eksisterende database. Som standard kopierer den standardsystemdatabasen med navnet template1.

Lad os gøre dette:

$ psql -d template1 -c 'create extension hstore;'

Og tjek at det virker :

$ 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)

Færdig!



  1. Hvordan installeres PostgreSQL's pg gem på Ubuntu?

  2. Opbygning af en tabelafhængighedsgraf med en rekursiv forespørgsel

  3. Specialbygget statistik

  4. Min MySQL-database er løbet tør for diskplads