2014-08-28 1 views
1

Я пытаюсь настроить postgres на OSX. У меня возникли проблемы с приложением rails («невозможно подключиться к базе данных») и переустановить postgres с помощью homebrew. Я не могу выдавать Postgres команды из терминала теперь, хотя:postgres нет пользователей или ролей, не может создавать, но работает с рельсами?

$ sudo -u _postgres psql 
Password: 
psql: FATAL: role "_postgres" does not exist 
$ brew list 
autoconf libksba  openssl  python  sqlite 
automake libtool  ossp-uuid rbenv 
gdbm  libyaml  pkg-config readline 
libgpg-error mongodb  postgresql ruby-build 
$ postgresql 
zsh: command not found: postgresql 
$ psql 
psql: FATAL: database "connorleech" does not exist 

Эта команда не работает, хотя:

$ sudo -u _postgres 
usage: sudo -h | -K | -k | -L | -V 
usage: sudo -v [-AknS] [-g groupname|#gid] [-p prompt] [-u user name|#uid] 
usage: sudo -l[l] [-AknS] [-g groupname|#gid] [-p prompt] [-U user name] [-u 
      user name|#uid] [-g groupname|#gid] [command] 
usage: sudo [-AbEHknPS] [-C fd] [-g groupname|#gid] [-p prompt] [-u user 
      name|#uid] [-g groupname|#gid] [VAR=value] [-i|-s] [<command>] 
usage: sudo -e [-AknS] [-C fd] [-g groupname|#gid] [-p prompt] [-u user 
      name|#uid] file ... 

После того как я переустановил PostgreSQL с доморощенным моими рельсами приложение начало работать с этим app/config/database.yml:

development: 
    adapter: postgresql 
    encoding: utf8 
    host: localhost 
    database: project_development 
    pool: 5 
    username: 
    password: 

Вопросы:

  1. Как мне выдать команды postgres с терминала?
  2. Как работает рельсы, если я никогда не создавал локальный пользователь или базу данных postgres?
+0

Почему вы подчеркиваете перед «postgres»? Вместо этого попробуйте 'sudo -u postgres psql'. Или если ваш пользователь OSX на самом деле называется _postgres: 'sudo -u _postgres psql postgres' – wildplasser

+0

' $ sudo -u postgres psql' дает ошибку: 'sudo: неизвестный пользователь: postgres' –

+0

В этом случае попробуйте второй. – wildplasser

ответ

0

От Homebrew FAQ:

Homebrew is designed to work without using sudo. You can decide to use it but we strongly recommend not to do so. If you have used sudo and run into a bug then it is likely to be the cause...

Ваша первая идея использования sudo -u _postgres psql не распространяется на самогон. Я считаю, что это относится к PostgreSQL, как упаковывают Apple (который поставляется с OS X Server Edition, а не с настольной версии)

пакет заварить postgresql не нужно или создавать пользователей с именем _postgres или postgres, это предполагает, что вы бежите сервер под вашим собственным пользователем ОС.

/usr/local/bin/psql самостоятельно должен успешно запускать и подключаться к вашей базе данных по умолчанию, если сервер работает, и нет другой проблемы с конфигурацией.

См. Также вывод brew info postgresql, он дает необходимые бит информации для запуска.

0

Если вы установили Postgres от here для Mac OSX попробовать это:

  1. От корня в Баш «PSQL»
  2. Это будет войти в систему в качестве пользователя, который создал приложение (в моем случае это было мой пользователь макинтош имя, например, «Джеймс Браун»)
  3. вы будете в строке, как Джеймс Браун = # ... введите «\ ий»
  4. теперь вы будете видеть все роли, мои включена и Джеймс Браун _postgres
  5. , если вы хотите добавить sup eruser to _postgres, "изменить пользователя _postgres superuser;"