По-видимому, существует база данных "пост-ГРЭС", который создается по умолчанию на каждой postgresql установке сервера. Кто-либо может сказать мне или указать на меня на документацию, для чего это используется?
Похоже, что на самом деле у него нет четко определенной цели. Согласно документации:
Создание кластера баз данных состоит из создания каталогов, в которых будут храниться данные базы данных, генерации таблиц общего каталога (таблицы, которые принадлежат всему кластеру, а не конкретной базе данных) и создания баз данных "template1" и "postgres".
[...]
База данных postgres - это база данных по умолчанию, предназначенная для использования пользователями, утилитами и сторонними приложениями.
(Источник: http://www.postgresql.org/docs/current/app-initdb.html )
Существует также шаблон базы данных 0, ваша подстраховка, когда вы облажаетесь со всеми остальными.
Когда клиентское приложение подключается к серверу Postgres, оно должно указать, к какой базе данных оно хочет подключиться. Если вы не знаете имени базы данных (в пределах кластера, обслуживаемого постмастером, к которому вы подключаетесь), вы можете найти список имен баз данных с помощью команды:
psql -l
Когда вы выполняете эту команду, psql подключается к серверу и запрашивает pg_database для получения списка имен баз данных. Однако, поскольку psql является клиентским приложением Postgres, он не может подключиться к серверу, не зная имени хотя бы одной базы данных: Загвоздка-22. Итак, psql жестко закодирован на подключение к базе данных с именем "postgres", когда вы запускаете psql -l
, но в этом случае вы можете указать шаблонную базу данных:
psql -l -d template1