createdb
Эта страница переведена при помощи нейросети GigaChat.
createdb
— создает новую базу данных PostgreSQL.
Синтаксис
createdb [connection-option ...] [option ...] [dbname= [description]]
Описание
createdb
создает новую базу данных PostgreSQL.
По умолчанию пользователь, выполняющий команду создания базы данных, становится ее владельцем. Однако при наличии соответствующих привилегий можно указать другого владельца с помощью параметра -O
.
createdb
является оболочкой для команды SQL CREATE DATABASE. По своей эффективности она не отличается от создания базы данных другими способами, доступными в сервере PostgreSQL.
Параметры
Для утилиты createdb
существуют следующие параметры командной строки:
dbname
- Задает имя создаваемой базы данных. Имя должно быть уникальным в пределах кластера PostgreSQL. Если параметр не указан, по умолчанию создается база с именем текущего системного пользователя.
description
- Задает комментарий к создаваемой базе данных.
-D tablespace
--tablespace=tablespace
- Устанавливает табличное пространство по умолчанию для базы данных (обрабатывается как идентификатор в двойных кавычках).
-e
--echo
- Выводит на экран команды, которые
createdb
отправляет на сервер.
-E encoding
--encoding=encoding
- Определяет кодировку символов, которая будет использоваться в базе данных. Доступные кодировки описаны в разделе «Поддерживаемые наборы символов».
-l locale
--locale=locale
- Задает локаль, которая должна использоваться в этой базе данных. Это эквивалентно заданию параметров
--lc-collate
,--lc-ctype
, и--icu-locale
равными одному значению. Некоторые локали действительны только для ICU и должны задаваться с помощью--icu-locale
.
--lc-collate=locale
- Определяет параметр
LC_COLLATE
, используемый для сортировки строк в базе данных.
--lc-ctype=locale
- Определяет параметр
LC_CTYPE
, который регулирует правила классификации символов (например, регистрозависимость).
--builtin-locale=locale
- Задает имя локали при использовании встроенного провайдера.
--icu-locale=locale
- Указывает локаль ICU, если используется соответствующий поставщик локалей.
--icu-rules=rules
- Задает дополнительные правила сортировки для настройки поведения стандартной сортировки данной базы данных. Эта возможность поддерживается только для ICU.
--locale-provider={builtin|libc|icu}
- Определяет, какой механизм локализации будет использоваться (
libc
илиICU
).
-O owner
--owner=owner
- Назначает владельца создаваемой базы данных (обрабатывается как идентификатор в двойных кавычках).
-S template
--strategy=strategy
- Определяет стратегию создания базы данных. Подробнее можно ознакомиться в разделе «CREATE DATABASE strategy» раздела.
-T template
--template=template
- Указывает шаблон базы данных, на основе которой будет создана новая база данных (обрабатывается как идентификатор в двойных кавычках).
-V
--version
- Выводит версию
createdb
и завершается.
-?
--help
- Показывает справку о параметрах командной строки утилиты
createdb
и завершается.
Параметры -D
, -l
, -E
, -O
, и -T
соответствуют параметрам базовой команды SQL CREATE DATABASE, где можно ознакомиться подробнее о параметрах.
-h host
--host=host
- Указывает хост компьютера, на котором запущен сервер. Если значение начинается с косой черты, оно определяет каталог Unix-сокета.
-p port
--port=port
- Указывает TCP-порт или расширение файла локального Unix-сокета для подключения к серверу.
-U username
--username=username
- Указывает имя пользователя для подключения.
-w
--no-password
- Отключает запрос на ввод пароля. Если сервер требует аутентификации по паролю и пароль недоступен другими способами, такими как файл
.pgpass
, попытка подключения завершится неудачей. Параметр полезен в пакетных заданиях и сценариях, где нет пользователя, который мог бы ввести пароль.
-W
--password
- Запрашивает пароль перед подключением к основному серверу.
Параметр не является обязательным, поскольку
createdb
автоматически запросит пароль, если сервер требует аутентификацию паролем. Однако утилита потратит попытку подключения, чтобы выяснить, что сервер хочет пароль. В некоторых случаях стоит ввести-W
, чтобы избежать дополнительной попытки подключения.
--maintenance-db=dbname
- Определяет имя базы данных для подключения при создании новой базы данных. Если параметр не указан, по умолчанию будет использоваться база
postgres
, если она отсутствует или это имя создаваемой базы данных, будет использоватьсяtemplate1
.Также можно передать строку подключения. В этом случае параметры строки подключения имеют приоритет над одноименными параметрами командной строки.
Переменные окружения
Утилита поддерживает переменные окружения:
PGDATABASE
PGHOST
PGPORT
PGUSER
PG_COLOR
PG_COLOR
указывает, использовать ли цвет в диагностических сообщениях. Возможные значения — always
, auto
и never
.
Если задана PGDATABASE
, используется как имя создаваемой базы данных, если оно не было указано в командной строке.
Утилита createdb
использует переменные окружения, поддерживаемые libpq
.
Диагностика
В случае возникновения трудностей, обратитесь в разделы 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;