我正在尝试在相对干净的 Lion 安装上设置 pg,但没有成功。
首先我成功安装了 homebrew,并且安装了 postgresql,没有任何错误。
然后我尝试运行一个 rails 应用程序,出现错误。尝试运行此脚本:http://nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion/
为了隐藏默认的系统 postgres 安装,但现在我收到以下错误:
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
当我尝试运行postgres
bin 目录中的脚本时,出现以下错误:
larson:~ larson$ /usr/local/Cellar/postgresql/9.1.3/bin/postgres ; exit;
postgres does not know where to find the server configuration file.
You must specify the --config-file or -D invocation option or set the PGDATA environment variable.
logout
很明显,postgres 无法启动,因为它配置不正确。有人能给出一些关于如何正确配置它以便启动的建议吗?
答案1
盲目地运行自制脚本,不知道它们在做什么,并不能解决问题——它創造他们。结束咆哮。
我们不知道您之前遇到的错误是什么,但现在您显然没有配置数据库集群。
您需要正确设置 Postgres 集群(请参阅Postgres 手册),和/或在启动数据库集群时告诉 postgres 数据库集群位于何处(这是You must specify the --config-file or -D invocation option or set the PGDATA environment variable.
错误消息中提到的那部分)。 手册第 17.3 节谈论这个。
答案2
跑步brew info postgres
可以让你锻炼身体。例如:
如果这是您的第一次安装,请使用以下命令创建数据库:
initdb /usr/local/var/postgres -E utf8
或者重新启动数据库服务器:
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
答案3
根据关于此 Homebrew 问题的讨论: https://github.com/Homebrew/homebrew/issues/21920
你可能只需要这样做:
export PGDATA=/usr/local/var/postgres
只需检查该目录确实存在并且具有 postgres 配置文件。
答案4
您是否运行了 initdb?我发现这个问题与默认安装的 postgres 9.1.3 有关。看起来 initdb 使用配置构建了数据库目录。
这包含在 brew install 附带的说明中。
尝试 brew info postgresql 并阅读有关“新安装”的信息