2014-08-28 58 views
1

我想在OSX上設置postgres。我在使用Rails應用程序時遇到了問題('無法連接到數據庫'),並用自制軟件重新安裝了postgres。我不能發出從終端的Postgres命令雖然現在:postgres沒有用戶或角色,不能創建但可以使用rails嗎?

$ 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後,我的Rails應用程序開始與這個app/config/database.yml工作:

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

問題:

  1. 如何從終端發出postgres命令?
  2. 如果我從未創建本地postgres用戶或數據庫,rails如何運行應用程序?
+0

爲什麼你在「postgres」之前加下劃線?改爲使用'sudo -u postgres psql'。或者如果你的OSX用戶實際上被稱爲_postgres:'sudo -u _postgres psql postgres' – wildplasser 2014-08-28 22:03:12

+0

'$ sudo -u postgres psql'給出錯誤: 'sudo:unknown user:postgres' – 2014-08-28 22:11:26

+0

在這種情況下:嘗試第二個。 – wildplasser 2014-08-28 22:13:39

回答

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的蘋果作爲包裝(附帶的OS X服務器版,不與桌面版)

沖泡postgresql包不需要或不創建一個名爲_postgrespostgres的用戶,建議你運行服務器在您自己的操作系統用戶下。

/usr/local/bin/psql alone應該成功啓動並連接到您的默認數據庫,如果服務器正在運行,並沒有其他配置問題。

另請參見brew info postgresql的輸出,它給出了開始所需的信息位。

0

如果從here爲Mac OSX安裝的Postgres試試這個:

  1. 從根在bash「PSQL」
  2. 這將作爲該應用程序創建的用戶登錄(在我的情況,這是我的Mac的用戶名,例如「詹姆斯·布朗」)
  3. 你會在像詹姆斯·布朗=#......一個提示符下輸入「\杜」
  4. 現在你會看到所有的角色,包括礦山和詹姆斯·布朗_postgres
  5. 如果你想添加sup eruser to _postgres,「改變用戶_postgres超級用戶;」
相關問題