sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur skapar man en ny databas med hstore-tillägget redan installerat?

Lång historia kort:

Installera hstore i mall1-databasen:

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

Steg-för-steg-förklaring:

Som anges i PostgreSQL-dokumentationen:

CREATE EXTENSION laddar ett nytt tillägg till den aktuella databasen.

Att installera ett tillägg är databasspecifikt. Följande ger dig det aktuella databasnamnet:

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

Om du har en databas döpt efter ditt användarnamn. Nu med dbtest :

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

Ok, du fattar. Nu, för att skapa nya databaser med hstore installerat, måste du installera det i template1 databas. Enligt doktorn:

CREATE DATABASE fungerar faktiskt genom att kopiera en befintlig databas. Som standard kopierar den standardsystemets databas med namnet mall1.

Låt oss göra så här:

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

Och kontrollera att det fungerar :

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

Klart!



  1. Hur man lägger till en kolumn i SQL

  2. Det effektivaste sättet att lagra IP-adress i MySQL

  3. Duplicerade dataproblem och hur man åtgärdar dem

  4. Insamlingsmetoder:FÖRSTA &SISTA funktioner i Oracle Database