2016-01-12 4 views
1

Я новичок в PostgreSQL, и мне сказали, чтобы создать базу данных с помощью следующей команды:CREATEDB: слишком много аргументов командной строки (первый является template0)

createdb -U $USER --locale=en_US.utf-8 -E utf-8 -O $USER mangodb -T template0 

Но я получаю ошибку «CREATEDB: слишком много аргументы командной строки (сначала - шаблон0) ". Что случилось с этой командой?

+0

Повторите команду и посмотрите, как выглядит выражение 'CREATE DATABASE'. –

+0

Как это сделать? – MPorto

+0

Добавьте '-e' в команду' createdb'. Он должен выводить то, что действительно выполняется, это 'CREATE DATABASE ...' –

ответ

0

Согласно documentation, имя базы данных (и возможное описание) наступает последним. Так -T template0 должен прийти перед именем mangodb базы данных:

createdb -U $USER --locale=en_US.utf-8 -E utf-8 -T template0 mangodb 

Опция -T template0 только требуется, если template1 имеет кодировку, отличную utf-8. В противном случае вы, вероятно, должны опустить такой вариант, чтобы использовать template1, который, как правило, более полезен, чем template0, потому что он имеет больше загруженных расширений и другие данные для конкретного сайта.

Обратите внимание, что -O $USER является излишним из-за -U $USER: подключенный пользователь по умолчанию является владельцем новой базы данных.

Смежные вопросы