Базы данных шаблонов в PostgresSQL - PullRequest
0 голосов
/ 20 июня 2020

Я использую PostgreSQL для работы с данными. Я набрал команду \l, чтобы увидеть мои текущие базы данных, но уже есть 2 базы данных. Я d ie не создаю их самостоятельно.

Они называются template0 и template1. Что это такое? Для чего они существуют?

1 Ответ

2 голосов
/ 20 июня 2020

Это системные базы данных, которые используются в качестве шаблонов при создании новой базы данных.

Это объяснено в документации :

CREATE DATABASE фактически работает путем копирования существующей базы данных. По умолчанию он копирует стандартную системную базу данных с именем template1. Таким образом, эта база данных является «шаблоном», из которого создаются новые базы данных. Если вы добавляете объекты в template1, эти объекты будут скопированы в созданные впоследствии пользовательские базы данных.

[...]

Там - это вторая стандартная системная база данных с именем template0. Эта база данных содержит те же данные, что и исходное содержимое template1, то есть только стандартные объекты, предопределенные вашей версией PostgreSQL. template0 никогда не следует изменять после инициализации кластера базы данных. Указав CREATE DATABASE скопировать template0 вместо template1, вы можете создать «чистую» базу данных пользователей, которая не будет содержать никаких добавлений локального сайта в template1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...