Перейти к основному содержимому

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;

Смотрите также

dropdb, CREATE DATABASE