2010-04-26 58 views
2

我跟着指示从this site如何在OS 10.6(雪豹)解决此PostgreSQL的错误

所有设置的PostgreSQL似乎去罚款,直到我尝试:

createuser --superuser myname -U postgres

我得到以下例外:

createuser: could not connect to database 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"?

对于我的生活,我无法弄清楚如何解决这个问题。有任何想法吗???

回答

1

我必须在安装之前删除现有的postgres用户。

0

您是否安装了postgresql84-server端口?如果是这样,你启动服务器:

$ sudo port load postgresql84-server 

如果你没有这两个,我已经注意到,有时直到您重新启动机器的MacPorts守护处理器()不开始处理PostgreSQL的请求。 (这只会在第一次启动时发生;后续尝试应该可以正常工作。)

+0

尝试重新启动...没有工作。 Ran“sudo端口加载postgresql84-server”...得到“错误:目标org.macports.load返回:org.macports.postgresql84-server:已加载 错误:在处理过程中遇到状态1。 – wgpubs 2010-04-26 20:30:27

1

也许你以后搬到你的Postgres数据目录,你installed postgres using macports

寻找到你的launchctl启动脚本的位置。

ps -ef | grep postgres 

输出

0 54 1 0 0:00.01 ?? 0:00.01 /opt/local/bin/daemondo --label=postgresql84-server --start-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper start ; --stop-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper stop ; --restart-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper restart ; --pid=none

所以我编辑

sudo vim /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper 

并找到行

Start() {   
su postgres -c "${PGCTL} -D ${POSTGRESQL84DATA:=/opt/local/var/db/postgresql84/wrong_place}  start -l /opt/local/var/log/postgresql84/postgres.log" 

}

啊..我的数据目录在错误的地方。我通过改变

/opt/local/var/db/postgresql84/wrong_place

解决它

/opt/local/var/db/postgresql84/right_place

的启动和停止命令两者。