createdb
createdb — создать базу данных Postgres Pro Shardman
Синтаксис
createdb [параметр-подключения...] [параметр...] [dbname [описание]]
Описание #
createdb создаёт базу данных Postgres Pro Shardman.
Примечание
Обратите внимание, что createdb работает только для локальных баз данных.
Чаще всего пользователь, выполняющий эту команду, назначается владельцем создаваемой базы данных. Однако можно указать владельца явным образом с помощью флага -O, если у текущего пользователя достаточно привилегий.
createdb это обёртка для SQL-команды CREATE DATABASE. Создание баз данных с её помощью по сути не отличается от выполнения того же действия при обращении к серверу другими способами.
Параметры
createdb принимает в качестве аргументов:
dbnameУказывает имя создаваемой базы. Имя должно быть уникальным в рамках кластера Postgres Pro Shardman. По умолчанию в качестве имени базы данных берётся имя текущего системного пользователя.
описаниеДобавляет комментарий к создаваемой базе.
-Dтабличное_пространство--tablespace=табличное_пространствоУказывает табличное пространство, используемое по умолчанию. Имя пространства обрабатывается аналогично идентификаторам, заключённым в двойные кавычки.
-e--echoВывести команды к серверу, генерируемые при выполнении createdb.
-Eкодировка--encoding=кодировкаУказывает кодировку базы данных. Поддерживаемые сервером Postgres Pro Shardman кодировки описаны в Подразделе 22.3.1.
-lлокаль--locale=локальУказывает локаль базы данных. Установка того же значения для
--lc-collate,--lc-ctypeи--icu-localeразнозначна установке этого параметра. Некоторые локали можно указать только для ICU и только в параметре--icu-locale.--lc-collate=локальУстанавливает параметр LC_COLLATE для базы данных.
--lc-ctype=локальУстанавливает параметр LC_CTYPE для базы данных.
--builtin-locale=локальУказывает имя локали при использовании провайдера
builtin. Поддержка локалей описана в Разделе 22.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Если установлено и не переопределено в командной строке, задаёт имя создаваемой базы данных.
PGHOSTPGPORTPGUSERПараметры подключения по умолчанию.
PGUSERуказывает имя пользователя при создании базы данных, если не указано явно в командной строке или в переменной окруженияPGDATABASE.PG_COLORВыбирает вариант использования цвета в диагностических сообщениях. Возможные значения:
always(всегда),auto(автоматически) иnever(никогда).
Эта утилита, как и большинство других утилит Postgres Pro Shardman, также использует переменные среды, поддерживаемые libpq (см. Раздел 34.15).
Диагностика
В случае возникновения трудностей обратитесь к CREATE DATABASE и psql. При диагностике нужно учитывать, что при запуске утилиты используются значения переменных окружения и параметров подключения по умолчанию libpq.
Примеры
Создать базу данных demo на сервере, используемом по умолчанию, можно так:
$createdb demo
Создать базу demo на сервере eden, порт 5000, из шаблонной базы template0 можно такой командой командной строки, за которой стоит следующая команда SQL:
$createdb -p 5000 -h eden -T template0 -e demoCREATE DATABASE demo TEMPLATE template0;