По-видимому, существует база данных "postgres", которая создается по умолчанию для каждой установки сервера postgresql. Может ли кто-нибудь сказать мне или указать мне на документацию, для чего он используется?
База данных по умолчанию с именем postgres на сервере Postgresql
Ответ 1
Похоже, что у него действительно нет четко определенной цели. Согласно документам:
Создание кластера базы данных состоит из создания каталогов, в которых будут храниться данные базы данных, создания общих таблиц каталога (таблиц, принадлежащих всему кластеру, а не какой-либо конкретной базе данных) и создания "шаблона1" и "postgres".
[...]
База данных postgres - это база данных по умолчанию, предназначенная для пользователей, утилит и сторонних приложений.
(Источник: http://www.postgresql.org/docs/8.2/interactive/app-initdb.html)
Ответ 2
Когда клиентское приложение подключается к серверу Postgres, он должен указать, к какой базе данных он хочет подключиться. Если вы не знаете имя базы данных (внутри кластера, обслуживаемого почтовым мастером, к которому вы подключаетесь), вы можете найти список имен баз данных с помощью команды:
psql -l
Когда вы запустите эту команду, psql подключается к серверу и запрашивает pg_database для списка имен баз данных. Однако, поскольку psql является клиентским приложением Postgres, он не может подключиться к серверу, не зная имя хотя бы одной базы данных: Catch-22. Таким образом, psql жестко закодирован для подключения к базе данных с именем "postgres" при запуске "psql -l".
-- Korry
Ответ 3
Существует также шаблон базы данных0, ваша защитная сетка, когда вы испортите все остальные.
- postgres - это ваша база данных по умолчанию для соединиться с.
- template1 является вашим значением по умолчанию для создания новых баз данных, это созданный так же, как шаблон1
- template0 полезен, когда template1 (неправильные настройки и т.д.) и вы не хотите тратить много время исправить это. Просто снижайтесь template1 и создать новый шаблон1 используя шаблон базы данных0.
Ответ 4
Если вы используете несколько подключений к базе данных при создании новых баз данных, все соединения не могут быть выполнены с помощью template1
или template0
.
Postgresql выдает ошибку, если к исходной БД при создании нового БД обращаются другие соединения.
Итак, для создания новых БД лучше подключиться postgres
.