我正在尝试在OSX上设置postgres。我遇到了rails应用程序的问题(“无法连接到数据库”)并重新安装了自制的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后,我的rails app开始使用这个app/config/database.yml
:
development:
adapter: postgresql
encoding: utf8
host: localhost
database: project_development
pool: 5
username:
password:
问题:
postgres
命令? postgres
用户或数据库,那么rails如何运行应用程序?答案 0 :(得分:0)
来自Homebrew FAQ:
Homebrew旨在不使用sudo 工作。您可以决定使用它,但我们强烈建议您不要这样做。如果您使用过sudo并遇到错误,则可能是原因......
您使用sudo -u _postgres psql
的第一个想法不适用于自制软件。我认为它适用于Apple打包的PostgreSQL(OS X Server Edition附带,而不是桌面版)
brew postgresql
包不需要或创建名为_postgres
或postgres
的用户,它建议您在自己的操作系统用户下运行服务器。
/usr/local/bin/psql
应该可以成功启动并连接到您的默认数据库。
另见brew info postgresql
的输出,它提供了开始所需的信息位。