База данных по умолчанию назвала пост-ГРЭС на сервере Postgresql

По-видимому, существует база данных "пост-ГРЭС", который создается по умолчанию на каждой postgresql установке сервера. Кто-либо может сказать мне или указать на меня на документацию, для чего это используется?

59
задан APC 3 March 2010 в 02:37
поделиться

3 ответа

Похоже, что на самом деле у него нет четко определенной цели. Согласно документации:

Создание кластера баз данных состоит из создания каталогов, в которых будут храниться данные базы данных, генерации таблиц общего каталога (таблицы, которые принадлежат всему кластеру, а не конкретной базе данных) и создания баз данных "template1" и "postgres".

[...]

База данных postgres - это база данных по умолчанию, предназначенная для использования пользователями, утилитами и сторонними приложениями.

(Источник: http://www.postgresql.org/docs/current/app-initdb.html )

34
ответ дан 7 November 2019 в 04:35
поделиться

Существует также шаблон базы данных 0, ваша подстраховка, когда вы облажаетесь со всеми остальными.

  1. postgres - это ваша база данных по умолчанию, к которой будет подключаться.
  2. template1 используется по умолчанию для создания новых баз данных, они создаются так же, как template1
  3. template0 полезен, когда template1 поврежден (неправильные настройки и т. Д.) { {1}}, и вы не хотите тратить много времени на то, чтобы это исправить. Просто отбросьте template1 и создайте новый template1 , используя базу данных template0.
32
ответ дан 7 November 2019 в 04:35
поделиться

Когда клиентское приложение подключается к серверу Postgres, оно должно указать, к какой базе данных оно хочет подключиться. Если вы не знаете имени базы данных (в пределах кластера, обслуживаемого постмастером, к которому вы подключаетесь), вы можете найти список имен баз данных с помощью команды:

psql -l

Когда вы выполняете эту команду, psql подключается к серверу и запрашивает pg_database для получения списка имен баз данных. Однако, поскольку psql является клиентским приложением Postgres, он не может подключиться к серверу, не зная имени хотя бы одной базы данных: Загвоздка-22. Итак, psql жестко закодирован на подключение к базе данных с именем "postgres", когда вы запускаете psql -l, но в этом случае вы можете указать шаблонную базу данных:

psql -l -d template1
83
ответ дан 7 November 2019 в 04:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: