试图在OSX上设置postgres

JD *_*cks 6 postgresql macos

我试图在我的mac(10.7 Lion)上为本地的rails应用程序设置postgres.

我安装了postgresapp并启动它,我现在在我的状态栏中有一只大象告诉我postgres正在运行.

我可以通过以下方式达到:

psql -h localhost
Run Code Online (Sandbox Code Playgroud)

但是,当我只是运行时,psql我得到这个错误:

psql:无法连接到服务器:Permission denied服务器是否在本地运行并接受Unix域套接字"/var/pgsql_socket/.s.PGSQL.5432"上的连接?

我把它说:

PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

~/.bashrc并开辟了一个新的终端.但没有骰子.

当我跑步时,which psql我得到了/usr/bin/psql

不确定该怎么做..我对unix系统还是个新手.我应该符号链接/usr/bin/psql/Applications/Postgres.app/Contents/MacOS/bin/psql

Mic*_*ton 11

我在运行Mountain Lion的新MacBook Pro上遇到了类似的问题.我下载了PostgresApp,当我启动rails时,我收到以下错误:

`initialize': could not connect to server: No such file or directory (PG::Error)
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)

要解决这个问题,我必须在我的database.yml文件中明确定义主机和端口,如下所示:

development:
  adapter: postgresql
  encoding: unicode
  database: my_app_development
  pool: 5
  username: tony
  password: stark    
  host: localhost
  port: 5432
Run Code Online (Sandbox Code Playgroud)


Phi*_*ing 3

这个错误非常具体,可以告诉您出了什么问题,但如果您是 unix 新手,那么它就不那么明显了。

我在这里给出了类似的答案:

无法连接到本地 PostgreSQL

问题

您无权访问(“socket”)文件/var/pgsql_socket/.s.PGSQL.5432

修理:

检查您是否至少有权访问该目录。在命令行上使用:

ls -l /var/pgsql_socket/.s.PGSQL.5432
Run Code Online (Sandbox Code Playgroud)

如果没有,这将导致“权限被拒绝”。您可能已经有权访问此文件,而这只是您无权访问的套接字文件。

套接字文件本身是由 postgresql 在启动时创建的。

追踪 postgres 的主配置文件 ( postgresql.conf)。这本身可能很困难,我是 Linux 用户而不是 OSX。您可能需要花一些时间在谷歌上。此链接相当旧,但如果您遇到问题,它可能会让您走上正轨。http://www.postgresqlformac.com/server/howto_edit_postgresql_confi.html

找到它后,在 postgresql.conf 中找到这些行,它们应该显示如下内容:

unix_socket_directory = '/var/pgsql_socket'    # dont worry if yours is different
#unix_socket_group = ''                        # default is fine here
unix_socket_permissions = 0777                 # check this one
Run Code Online (Sandbox Code Playgroud)

  • Mac OSX 配置文件位于 /Users/$USER/Library/Application Support/Postgres/var (4认同)