PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да създадете нова база данни с вече инсталирано разширение hstore?

Накратко:

Инсталирайте hstore в базата данни template1:

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

Обяснение стъпка по стъпка:

Както е посочено в документацията на PostgreSQL:

CREATE EXTENSION зарежда ново разширение в текущата база данни.

Инсталирането на разширение е специфично за базата данни. Следното ви връща текущото име на базата данни:

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

В случай, че имате база данни, наречена на вашето потребителско име. Сега с dbtest :

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

Добре, разбрахте. Сега, за да създадете нови бази данни с инсталиран hstore, ще трябва да го инсталирате в template1 база данни. Според документа:

CREATE DATABASE всъщност работи чрез копиране на съществуваща база данни. По подразбиране той копира стандартната системна база данни с име template1.

Нека направим това:

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

И проверете дали работи :

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

Готово!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Определяне на OID на таблица в Postgres 9.1?

  2. Postgresql не създава db с „createdb“ като суперпотребител, но не извежда грешки

  3. Кой е най-препоръчителният начин за съхраняване на време в PostgreSQL с помощта на Java?

  4. Множество бази данни в docker и docker-compose

  5. Postgresql :Връзката е отказана. Проверете дали името на хоста и порта са правилни и че администраторът на пощата приема TCP/IP връзки