createdb создаёт базу данных PostgreSQL.
Чаще всего пользователь, выполняющий эту команду, назначается владельцем создаваемой базы данных. Однако можно указать владельца явным образом с помощью флага -O, если у текущего пользователя достаточно привилегий.
createdb это обёртка для SQL-команды CREATE DATABASE. Создание баз данных с её помощью по сути не отличается от выполнения того же действия при обращении к серверу другими способами.
createdb принимает в качестве аргументов:
Указывает имя создаваемой базы. Имя должно быть уникальным в рамках кластера PostgreSQL. По умолчанию в качестве имени базы данных берётся имя текущего системного пользователя.
Добавляет комментарий к создаваемой базе.
Указывает табличное пространство, используемое по умолчанию. Имя пространства обрабатывается аналогично идентификаторам, заключённым в двойные кавычки.
Вывести команды к серверу, генерируемые при выполнении createdb.
Указывает кодировку базы данных. Поддерживаемые сервером PostgreSQL кодировки описаны в Разд. 22.3.1.
Указывает локаль базы данных. Имеет эффект одновременно установленных флагов --lc-collate и --lc-ctype.
Устанавливает параметр LC_COLLATE для базы данных.
Устанавливает параметр LC_CTYPE для базы данных.
Указывает пользователя в качестве владельца создаваемой базы. Имя пользователя обрабатывается аналогично идентификаторам, заключённым в двойные кавычки.
Указывает шаблон, на основе которого будет создана база данных. Имя шаблона обрабатывается аналогично идентификаторам, заключённым в двойные кавычки.
Вывести версию createdb и прервать дальнейшее исполнение.
Вывести помощь по команде createdb и прервать выполнение.
Флаги -D, -l, -E, -O, и -T по назначению соответствуют флагам SQL-команды CREATE DATABASE.
createdb также принимает из командной строки параметры подключения:
Указывает имя компьютера, на котором работает сервер. Если значение начинается с косой черты, оно определяет каталог Unix-сокета.
Указывает TCP-порт или расширение файла локального Unix-сокета, через который сервер принимает подключения.
Имя пользователя, под которым производится подключение.
Не выдавать запрос на ввод пароля. Если сервер требует аутентификацию по паролю и пароль не доступен с помощью других средств, таких как файл .pgpass, попытка соединения не удастся. Этот параметр может быть полезен в пакетных заданиях и скриптах, где нет пользователя, который вводит пароль.
Принудительно запрашивать пароль перед подключением к базе данных.
Это несущественный параметр, так как createdb запрашивает пароль автоматически, если сервер проверяет подлинность по паролю. Однако, чтобы понять это, createdb лишний раз подключается к серверу. Поэтому иногда имеет смысл ввести -W, чтобы исключить эту ненужную попытку подключения.
Указывает имя опорной базы данных, к которой при создании новой будет произведено подключение. Если имя не указано, то будет использоваться postgres. Если же postgres не существует, то будет использоваться template1.
Если установлено и не переопределено в командной строке, задаёт имя создаваемой базы данных.
Параметры подключения по умолчанию. PGUSER указывает имя пользователя при создании базы данных, если не указано явно в командной строке или в переменной окружения PGDATABASE.
Эта утилита, как и большинство других утилит PostgreSQL, также использует переменные среды, поддерживаемые libpq (см. Разд. 31.14).
В случае возникновения трудностей обратитесь к CREATE DATABASE и psql . При диагностике нужно учитывать, что при запуске утилиты используются значения переменных окружения и параметров подключения по умолчанию libpq.
Для создания базы данных demo на сервере, используемом по умолчанию:
$ createdb demo
Для создания базы demo на сервере eden, порт 5000, с кодировкой LATIN1:
$ createdb -p 5000 -h eden -E LATIN1 -e demo CREATE DATABASE demo ENCODING 'LATIN1';
| Пред. | Начало | След. |
| clusterdb | Уровень выше | createlang |