createdb
createdb — создать базу данных PostgreSQL
Синтаксис
createdb
[параметр-подключения
...] [параметр
...] [имя_бд
[описание
]]
Описание
createdb создаёт базу данных PostgreSQL.
Чаще всего пользователь, выполняющий эту команду, назначается владельцем создаваемой базы данных. Однако можно указать владельца явным образом с помощью флага -O
, если у текущего пользователя достаточно привилегий.
createdb это обёртка для SQL-команды CREATE DATABASE
. Создание баз данных с её помощью по сути не отличается от выполнения того же действия при обращении к серверу другими способами.
Параметры
createdb принимает в качестве аргументов:
имя_бд
Указывает имя создаваемой базы. Имя должно быть уникальным в рамках кластера PostgreSQL. По умолчанию в качестве имени базы данных берётся имя текущего системного пользователя.
описание
Добавляет комментарий к создаваемой базе.
-D
табличное_пространство
--tablespace=
табличное_пространство
Указывает табличное пространство, используемое по умолчанию. Имя пространства обрабатывается аналогично идентификаторам, заключённым в двойные кавычки.
-e
--echo
Вывести команды к серверу, генерируемые при выполнении createdb.
-E
кодировка
--encoding=
кодировка
Указывает кодировку базы данных. Поддерживаемые сервером PostgreSQL кодировки описаны в Подразделе 23.3.1.
-l
локаль
--locale=
локаль
Указывает локаль базы данных. Установка того же значения для
--lc-collate
,--lc-ctype
и--icu-locale
разнозначна установке этого параметра. Некоторые локали можно указать только для ICU и только в параметре--icu-locale
.--lc-collate=
локаль
Устанавливает параметр LC_COLLATE для базы данных.
--lc-ctype=
локаль
Устанавливает параметр LC_CTYPE для базы данных.
--builtin-locale=
локаль
Указывает имя локали при использовании провайдера
builtin
. Поддержка локалей описана в Разделе 23.1.--icu-locale=
локаль
Указывает идентификатор локали ICU, которая будет использоваться в этой БД, если выбран провайдер локалей ICU.
--icu-rules=
правила
Указывает дополнительные правила для настройки поведения сортировки по умолчанию. Параметр поддерживается только для ICU.
--locale-provider={
builtin
|libc
|icu
}Указывает провайдера локали для основного правила сортировки базы данных.
-O
владелец
--owner=
владелец
Указывает пользователя в качестве владельца создаваемой базы. Имя пользователя обрабатывается аналогично идентификаторам, заключённым в двойные кавычки.
-S
стратегия
--strategy=
стратегия
Указывает стратегию создания базы данных. За подробностями обратитесь к CREATE DATABASE STRATEGY.
-T
шаблон
--template=
шаблон
Указывает шаблон, на основе которого будет создана база данных. Имя шаблона обрабатывается аналогично идентификаторам, заключённым в двойные кавычки.
-V
--version
Вывести версию createdb и прервать дальнейшее исполнение.
-?
--help
Вывести помощь по команде createdb и прервать выполнение.
Флаги -D
, -l
, -E
, -O
и -T
по назначению соответствуют флагам SQL-команды CREATE DATABASE
.
createdb также принимает из командной строки параметры подключения:
-h
сервер
--host=
сервер
Указывает имя компьютера, на котором работает сервер. Если значение начинается с косой черты, оно определяет каталог Unix-сокета.
-p
порт
--port=
порт
Указывает TCP-порт или расширение файла локального Unix-сокета, через который сервер принимает подключения.
-U
имя_пользователя
--username=
имя_пользователя
Имя пользователя, под которым производится подключение.
-w
--no-password
Не выдавать запрос на ввод пароля. Если сервер требует аутентификацию по паролю и пароль не доступен с помощью других средств, таких как файл
.pgpass
, попытка соединения не удастся. Этот параметр может быть полезен в пакетных заданиях и скриптах, где нет пользователя, который вводит пароль.-W
--password
Принудительно запрашивать пароль перед подключением к базе данных.
Это несущественный параметр, так как createdb запрашивает пароль автоматически, если сервер проверяет подлинность по паролю. Однако чтобы понять это, createdb лишний раз подключается к серверу. Поэтому иногда имеет смысл ввести
-W
, чтобы исключить эту ненужную попытку подключения.--maintenance-db=
имя_бд
Указывает имя опорной базы данных, к которой будет произведено подключение для создания новой. Если имя не указано, будет выбрана база
postgres
, а если она не существует —template1
. В данном аргументе может задаваться строка подключения. В этом случае параметры в строке подключения переопределяют одноимённые параметры, заданные в командной строке.
Переменные окружения
PGDATABASE
Если установлено и не переопределено в командной строке, задаёт имя создаваемой базы данных.
PGHOST
PGPORT
PGUSER
Параметры подключения по умолчанию.
PGUSER
указывает имя пользователя при создании базы данных, если не указано явно в командной строке или в переменной окруженияPGDATABASE
.PG_COLOR
Выбирает вариант использования цвета в диагностических сообщениях. Возможные значения:
always
(всегда),auto
(автоматически) иnever
(никогда).
Эта утилита, как и большинство других утилит PostgreSQL, также использует переменные среды, поддерживаемые libpq (см. Раздел 32.15).
Диагностика
В случае возникновения трудностей обратитесь к CREATE DATABASE и psql. При диагностике нужно учитывать, что при запуске утилиты используются значения переменных окружения и параметров подключения по умолчанию libpq.
Примеры
Создать базу данных demo
на сервере, используемом по умолчанию, можно так:
$
createdb demo
Создать базу demo
на сервере eden
, порт 5000, из шаблонной базы template0
можно такой командой командной строки, за которой стоит следующая команда SQL:
$
createdb -p 5000 -h eden -T template0 -e demo
CREATE DATABASE demo TEMPLATE template0;