createdb
createdb — создать базу данных Postgres Pro
Синтаксис
createdb
[параметр-подключения
...] [параметр
...] [dbname
[описание
]]
Описание #
createdb создаёт базу данных Postgres Pro.
Примечание
Обратите внимание, что createdb работает только для локальных баз данных.
Чаще всего пользователь, выполняющий эту команду, назначается владельцем создаваемой базы данных. Однако можно указать владельца явным образом с помощью флага -O
, если у текущего пользователя достаточно привилегий.
createdb это обёртка для SQL-команды CREATE DATABASE
. Создание баз данных с её помощью по сути не отличается от выполнения того же действия при обращении к серверу другими способами.
Параметры
createdb принимает в качестве аргументов:
dbname
Указывает имя создаваемой базы. Имя должно быть уникальным в рамках кластера Postgres Pro. По умолчанию в качестве имени базы данных берётся имя текущего системного пользователя.
описание
Добавляет комментарий к создаваемой базе.
-D
табличное_пространство
--tablespace=
табличное_пространство
Указывает табличное пространство, используемое по умолчанию. Имя пространства обрабатывается аналогично идентификаторам, заключённым в двойные кавычки.
-e
--echo
Вывести команды к серверу, генерируемые при выполнении createdb.
-E
кодировка
--encoding=
кодировка
Указывает кодировку базы данных. Поддерживаемые сервером Postgres Pro кодировки описаны в Подразделе 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=
dbname
Указывает имя опорной базы данных, к которой будет произведено подключение для создания новой. Если имя не указано, будет выбрана база
postgres
, а если она не существует —template1
. В данном аргументе может задаваться строка подключения. В этом случае параметры в строке подключения переопределяют одноимённые параметры, заданные в командной строке.
Переменные окружения
PGDATABASE
Если установлено и не переопределено в командной строке, задаёт имя создаваемой базы данных.
PGHOST
PGPORT
PGUSER
Параметры подключения по умолчанию.
PGUSER
указывает имя пользователя при создании базы данных, если не указано явно в командной строке или в переменной окруженияPGDATABASE
.PG_COLOR
Выбирает вариант использования цвета в диагностических сообщениях. Возможные значения:
always
(всегда),auto
(автоматически) иnever
(никогда).
Эта утилита, как и большинство других утилит Postgres Pro, также использует переменные среды, поддерживаемые libpq (см. Раздел 35.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;