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.Также можно передать строку подключения. В этом случае параметры строки подключения имеют приоритет над одноименными параметрами командной строки.
Переменные окружения
Утилита поддерживает переменные окружения:
PGDATABASEPGHOSTPGPORTPGUSERPG_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;