CREATE DATABASE
Описание
Команда CREATE DATABASE создает в системе новую базу данных. Пользователь PostgreSQL, под именем которого вы зарегистрированы, автоматически становится владельцем новой базы данных, поэтому перед вызовом команды следует убедиться в том, что вы работаете под правильным именем.
Примечание
При крайней необходимости владельца базы данных можно изменить, для чего с полем datdba системной таблицы pg_database выполняется команда UPDATE с системным идентификатором другого пользователя PostgreSQL.
Параметр LOCATION обычно описывает переменную среды, содержащую путь к каталогу, в котором создается новая база данных. Переменная должна существовать в рабочей среде пользователя, запустившего процесс postmaster. Таким образом администраторы могут лучше управлять тем, в каких каталогах создаются новые базы данных. За дополнительной информацией по этой теме обращайтесь к главе 9.
Каталог, выбранный для хранения базы данных, должен быть предварительно инициализирован командой initlocation (или initdb). Команды описаны в главе 9.
Примечание
Если при компиляции PostgreSQL был установлен ключ ALLOW_ABSOLUTE_PATH (посредством передачи ключа CPPFLAGS=-DALLOW_ABSOLL)TE_PATH утилите groake после конфигурации), при создании базы данных можно указывать абсолютные пути. По умолчанию этот режим запрещен, что связано с проблемами безопасности и целостности данных, возникающими при создании баз данных в произвольных каталогах.
При создании новой базы данных PostgreSQL создает дубликат указанного шаблона (по умолчанию– tempiatel). Чтобы использовать а качестве шаблона другую базу данных, укажите ее имя в секции TEMPLATE. Чтобы создать пустую базу данных, не содержащую копию объектов шаблона, выберите шаблон template0.
Примеры
Следующая команда создает базу данных с именем booktown:
tempiatel=# CREATE DATABASE booktown; CREATE DATABASE
В следующем фрагменте та же база данных создается в другом каталоге:
tempiatel=# CREATE DATABASE booktown WITH LOCATION = '/usr/local/pgsql/booktown'; CREATE DATABASE