createdb
createdb — создать базу данных Postgres Pro
Синтаксис
createdb [параметр-подключения...] [параметр...] [имя_бд [описание]]
Описание
createdb создаёт базу данных Postgres Pro.
Чаще всего пользователь, выполняющий эту команду, назначается владельцем создаваемой базы данных. Однако можно указать владельца явным образом с помощью флага -O, если у текущего пользователя достаточно привилегий.
createdb это обёртка для SQL-команды CREATE DATABASE. Создание баз данных с её помощью по сути не отличается от выполнения того же действия при обращении к серверу другими способами.
Параметры
createdb принимает в качестве аргументов:
- имя_бд
- Указывает имя создаваемой базы. Имя должно быть уникальным в рамках кластера Postgres Pro. По умолчанию в качестве имени базы данных берётся имя текущего системного пользователя. 
- описание
- Добавляет комментарий к создаваемой базе. 
- -D- табличное_пространство- --tablespace=- табличное_пространство
- Указывает табличное пространство, используемое по умолчанию. Имя пространства обрабатывается аналогично идентификаторам, заключённым в двойные кавычки. 
- -e- --echo
- Вывести команды к серверу, генерируемые при выполнении createdb. 
- -E- кодировка- --encoding=- кодировка
- Указывает кодировку базы данных. Поддерживаемые сервером Postgres Pro кодировки описаны в Подразделе 22.3.1. 
- -l- локаль[@- провайдер]- --locale=- локаль[@- провайдер]
- Указывает локаль базы данных. Имеет эффект одновременно установленных флагов - --lc-collateи- --lc-ctype.- Кроме того, вы можете задать провайдер основного правила сортировки после символа - @. Допустимые варианты этого указания:- icuи- libc. За подробностями обратитесь к Подразделу 22.2.2.
- --lc-collate=- локаль[@- провайдер]
- Устанавливает параметр LC_COLLATE для базы данных. - Кроме того, вы можете задать провайдер основного правила сортировки после символа - @. Допустимые варианты этого указания:- icuи- libc. За подробностями обратитесь к Подразделу 22.2.2.
- --lc-ctype=- локаль
- Устанавливает параметр LC_CTYPE для базы данных. 
- -O- владелец- --owner=- владелец
- Указывает пользователя в качестве владельца создаваемой базы. Имя пользователя обрабатывается аналогично идентификаторам, заключённым в двойные кавычки. 
- -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.
Эта утилита, как и большинство других утилит Postgres Pro, также использует переменные среды, поддерживаемые libpq (см. Раздел 32.14).
Диагностика
В случае возникновения трудностей обратитесь к 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;