Подтвердить что ты не робот

База данных по умолчанию с именем postgres на сервере Postgresql

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

4b9b3361

Ответ 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.

введите описание изображения здесь