Приложение createdb
Приложение createdb
В PostgreSQL вместо команды CREATE DATABASE также можно воспользоваться приложением командной строки createdb. Единственное функциональное отличие createdb от команды SQL заключается в том, что программа запускается в режиме командной строки и позволяет включить комментарий в базу данных одновременно с ее созданием. В SQL для этого потребовалось бы две команды: CREATE DATABASE и COMMENT.
Синтаксис запуска программы createdb:
createdb [ параметры ] база_данных [ описание ]
Параметр база_данных определяет имя создаваемой базы данных. В строке параметры передаются любые из перечисленных ниже ключей, а описание содержит комментарий, включаемый в базу данных скрытой командой COMMENT (комментарии описаны в подразделе «Документирование базы данных» раздела «Сопровождение базы данных»).
Строка параметров может содержать либо ключи с дефисом, отделенные от значения пробелом (например, -D каталог), либо ключи в стиле GNU с двумя дефисами и знаком равенства, если он нужен (например, - -1оса11оп=католог). Ключи с одним дефисом всегда ограничиваются одной буквой, а ключи с двумя дефисами состоят из нескольких букв (обычно это целое слово).
Ниже перечислены ключи программы createdb.
- -О каталог, --]осаИоп=каталог. Аналог ключевого слова LOCATION в команде CREATE DATABASE. В качестве значения ключа указывается имя переменной среды (установленной для пользователя, запустившего серверный процесс PostgreSQL), содержащей путь к каталогу, в котором размещаются файлы новой базы данных.
- -Т шаблон, - -tempi ate=шaблoн. Аналог ключевого слова TEMPLATE в команде CREATE DATABASE. Ключ определяет идентификатор базы данных (например, tempi ateO), которая используется в качестве шаблона для новой базы с дублированием всех объектов.
- -Е кодировка, - -епсоб1пд=кодировка. Аналог ключевого слова ENCODING в команде CREATE DATABASE. Ключ содержит строковую константу кодировки (см. приложение А). Числовые константы не могут передаваться программе createdb, хотя у команды CREATE DATABASE такая возможность имеется.
- - h хост, - - host=xocm. Хост, с которым устанавливается связь для создания базы данных. По умолчанию используется имя local host или значение переменной среды PGHOST.
- - р порт, - - рогЪ=порт. Порт, по которому должно производиться подключение к серверу, вместо порта по умолчанию (обычно 5432, хотя при компиляции PostgreSQL можно задать другой порт при помощи флага - -with-pgport).
- -U пользователь, Имя пользователя, с которым производится подключение к PostgreSQL для создания базы данных (вместо имени системного пользователя, запустившего программу createdb).
- -W, - -password. Ключ передается без параметров и обеспечивает запрос пароля у пользователя. Это происходит автоматически, если в файле pg_hba.conf хост, от которого поступил запрос, не объявлен доверенным.
- -е, - -echo. Ключ передается без параметров. При включении вывода эха команда CREATE DATABASE, передаваемая PostgreSQL, выводится на экран в момент ее выполнения программой createdb.
- -q, - -quiet. Ключ передается без параметров и запрещает вывод данных в стандартный поток stdout (хотя ошибки по-прежнему направляются в стандартный поток stderr).
Сообщения об успешном выполнении и ошибках, выводимые программой createdb, совпадают с сообщениями команды CREATE DATABASE, хотя к ним добавляются сообщения об ошибках подключения, аналогичные тем, которые выводятся клиентом psql при указании неверного хоста или данных пользователя. Дополнительная информация о сообщениях приведена выше в пункте «Команда CREATE DATABASE» этого подраздела.
В листинге 9.11 приведен пример использования программы createdb. База данных example создается пользователем manager в каталоге, заданном переменной PGDATA2. Обратите внимание на смешанное использование двух разновидностей ключей (с одним дефисом и в стиле GNU).