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;