createdb#

createdb

createdb

createdb — создание новой базы данных Tantor BE

Синтаксис

createdb [connection-option...] [option...] [dbname [description]]

Описание

createdb создает новую базу данных Tantor BE.

Обычно пользователь базы данных, выполняющий эту команду, становится владельцем новой базы данных. Однако, если у выполняющего пользователя есть соответствующие привилегии, можно указать другого владельца с помощью опции -O.

createdb - это оболочка для команды SQL CREATE DATABASE. Нет эффективной разницы между созданием баз данных с помощью этой утилиты и другими методами доступа к серверу.

Опции

createdb принимает следующие аргументы командной строки:

dbname

Указывает имя базы данных, которая будет создана. Имя должно быть уникальным среди всех баз данных Tantor BE в данном кластере. По умолчанию создается база данных с тем же именем, что и текущий пользователь системы.

description

Указывает комментарий, который будет связан с ново созданной базой данных.

-D tablespace
--tablespace=tablespace

Указывает таблицу по умолчанию для базы данных. (Это имя обрабатывается как двойной идентификатор в кавычках).

-e
--echo

Отобразите команды, которые createdb генерирует и отправляет на сервер.

-E encoding
--encoding=encoding

Определяет схему кодирования символов, которая будет использоваться в этой базе данных. Наборы символов, поддерживаемые сервером Tantor BE, описаны в Раздел 22.3.1.

-l locale
--locale=locale

Указывает локаль, которая будет использоваться в этой базе данных. Это эквивалентно указанию --lc-collate, --lc-ctype и --icu-locale на одно и то же значение. Некоторые локали действительны только для ICU и должны быть установлены с помощью --icu-locale.

--lc-collate=locale

Определяет установку LC_COLLATE, которая будет использоваться в этой базе данных.

--lc-ctype=locale

Определяет установку LC_CTYPE, которая будет использоваться в этой базе данных.

--icu-locale=locale

Указывает ICU идентификатор локали, который будет использоваться в этой базе данных, если выбран ICU поставщик локали.

--icu-rules=rules

Указывает дополнительные правила сортировки для настройки поведения сортировки по умолчанию для этой базы данных. Это поддерживается только для ICU.

--locale-provider={libc|icu}

Определяет провайдера локали для правила сортировки по умолчанию базы данных.

-O owner
--owner=owner

Указывает пользователя базы данных, который будет владеть новой базой данных. (Это имя обрабатывается как двойной идентификатор в кавычках).

-S strategy
--strategy=strategy

Определяет стратегию создания базы данных. См. CREATE DATABASE STRATEGY для получения более подробной информации.

-T template
--template=template

Определяет шаблонную базу данных, на основе которой будет создана эта база данных. (Это имя обрабатывается как двойной идентификатор в кавычках).

-V
--version

Вывести версию createdb и завершить работу.

-?
--help

Показать справку о командной строке аргументов createdb и выйти.

Опции -D, -l, -E, -O и -T соответствуют опциям базовой SQL-команды CREATE DATABASE; см. там для получения дополнительной информации о них.

createdb также принимает следующие аргументы командной строки для параметров подключения:

-h host
--host=host

Определяет имя хоста машины, на которой работает сервер. Если значение начинается с косой черты, оно используется в качестве каталога для Unix-доменного сокета.

-p port
--port=port

Указывает TCP-порт или расширение локального файла сокета Unix, на котором сервер прослушивает соединения.

-U username
--username=username

Имя пользователя для подключения.

-w
--no-password

Не запрашивать пароль. Если сервер требует аутентификации по паролю и пароль не доступен другими средствами, такими как файл .pgpass, попытка подключения завершится неудачей. Этот параметр может быть полезен в пакетных заданиях и скриптах, где отсутствует пользователь, чтобы ввести пароль.

-W
--password

Принудительно требовать от createdb ввести пароль перед подключением к базе данных.

Эта опция никогда не является обязательной, так как createdb автоматически запросит пароль, если сервер требует аутентификацию по паролю. Однако createdb потратит попытку подключения, чтобы узнать, что сервер требует пароль. В некоторых случаях стоит набрать -W, чтобы избежать дополнительной попытки подключения.

--maintenance-db=dbname

Указывает имя базы данных, к которой будет осуществлено подключение при создании новой базы данных. Если не указано, будет использоваться база данных postgres; если она не существует (или если это имя новой создаваемой базы данных), будет использоваться база данных template1. Это может быть строка подключения. Если это так, параметры строки подключения будут переопределять любые конфликтующие параметры командной строки.

Окружение

PGDATABASE

Если установлено, то это будет имя создаваемой базы данных, если оно не переопределено в командной строке.

PGHOST
PGPORT
PGUSER

Параметры подключения по умолчанию. PGUSER также определяет имя базы данных для создания, если оно не указано в командной строке или через PGDATABASE.

PG_COLOR

Определяет, следует ли использовать цвет в диагностических сообщениях. Возможные значения: always, auto и never.

Эта утилита, как и большинство других утилит Tantor BE, также использует переменные среды, поддерживаемые libpq (см. Раздел 31.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;

См. также

dropdb, CREATE DATABASE