Пользователь Postgres не существует?
Я только что установил Postgres и возился с ним и различными конфигурациями в течение 1-2 часов.
Я застрял на не удается перейти на postgres-user
$ su - postgres приводит к следующей ошибке:su: unknown login: postgres
$ sudo -u postgres psql приводит к следующей ошибке:sudo: unknown user: postgres
эти попытки как обычный пользователь. Попытка их как корень имеет те же самые результаты. Я установил postgres через Homebrew на OS X, и я прочитали инструкцию несколько раз.
7 ответов:
psql: войти в систему с моим именем пользователя по умолчанию
psql -U postgres: регистрирует меня как пользователя postgresсудо, кажется, не требуется для меня.
Я использую Postgres.приложение для моей базы данных OS X postgres. Это сняло головную боль, убедившись, что установка работает, и сервер базы данных был запущен правильно. Проверьте это здесь: http://postgresapp.com
Edit: кредит @Erwin Brandstetter для исправления моего использования аргументы.
OS X имеет тенденцию префикс имена системных учетных записей с"_"; вы не говорите, какую версию OS X вы используете, но по крайней мере в 10.8 и 10.9 пользователь _postgres существует в установке по умолчанию. Обратите внимание, что вы не сможете
suк этой учетной записи (кроме как root), так как у нее нет пароля.sudo -u _postgres, С другой стороны, должно работать нормально.
By
psql --help, когда вы не установите параметры для имени базы данных (без-dвариант) это будет ваше имя пользователя, если вы не сделали-U, имя пользователя базы данных также будет вашим именем пользователя и т. д.но
initdb(для создания первой базы данных) команда не имеет вашего имени пользователя в качестве имени базы данных. Он имеет базу данных с именемpostgres. первая база данных всегда создается командой initdb при инициализации области хранения данных. Эта база данных называется Постгрес.так что если у вас нет другой базы данных с именем пользователя, вам нужно сделать
psql -d postgresдля работы команды psql. И, кажется, это дает по умолчаниюpsql postgresтоже работает.если вы создали другую базу данных с именами, совпадающими с вашим именем пользователя, (это должно быть сделано с
createdb), то вы можете выполнить командуpsqlтолько. И кажется, что первое имя пользователя базы данных устанавливается как имя пользователя вашей машины варить.psql -d <first database name> -U <first database user name>или
psql -d postgres -U <your machine username> psql -d postgresбудет работать по умолчанию.
psql -U postgresотлично работал для меня в случае имени БД: postgres & username: postgres. Так что вам не нужно писать судо.
и в случае другой БД, вы можете попробовать
psql -U yourdb postgresкак это дано в справке Postgres:
psql [OPTION]... [DBNAME [USERNAME]]
Я получаю точно такие же ошибки, как на крышах с
su - postgresиsudo -u postgres psql. Ответ Даниэля дает также ошибки.выходы при неправильных настройках
ответ, однако, из комментария пшбабу.
masi$ psql psql: FATAL: database "masi" does not exist masi$ psql -U postgres psql: FATAL: role "postgres" does not exist masi$ psql postgres psql (9.4.1) Type "help" for help.Я думаю, что некоторая часть этой проблемы может быть в настройках владельца в OSX
masi$ ls -al /Users/ total 0 drwxr-xr-x 7 root admin 238 Jul 3 09:50 . drwxr-xr-x 37 root wheel 1326 Jul 2 19:02 .. -rw-r--r-- 1 root wheel 0 Sep 10 2014 .localized drwxrwxrwt 7 root wheel 238 Apr 9 19:49 Shared drwxr-xr-x 2 root admin 68 Jul 3 09:50 postgres drwxr-xr-x+ 71 masi staff 2414 Jul 3 09:50 masiно делать
sudo chown -R postgres:staff /Users/postgresдаетchown: invalid user: ‘postgres:staff’.короче, это не решение проблемы. Используйте инструменты, предоставляемые установкой postgres для создания пользователя и базы данных.
чтобы получить правильные настройки и выходы
есть определенные команды после установки postgres, чтобы добавить нового пользователя в систему базы данных. После initdb выполните следующие действия, как описано здесь
createuser --pwprompt postgres createdb -Opostgres -Eutf8 masi_development psql -U postgres -W masi_developmentчтобы избежать запроса пароля все время, у вас есть три варианта, как описано здесь.
Comments