我按照从这个站点设置 postgresql 的说明进行操作
在我尝试之前一切似乎都很好:
createuser --superuser myname -U postgres
我得到以下异常:
createuser:无法连接到数据库 postgres:无法连接到服务器:没有这样的文件或目录服务器是否在本地运行并接受 Unix 域套接字“/tmp/.s.PGSQL.5432”上的连接?
对于我的生活,我无法弄清楚如何解决这个问题。有任何想法吗???
我按照从这个站点设置 postgresql 的说明进行操作
在我尝试之前一切似乎都很好:
createuser --superuser myname -U postgres
我得到以下异常:
createuser:无法连接到数据库 postgres:无法连接到服务器:没有这样的文件或目录服务器是否在本地运行并接受 Unix 域套接字“/tmp/.s.PGSQL.5432”上的连接?
对于我的生活,我无法弄清楚如何解决这个问题。有任何想法吗???
在进行安装之前,我必须删除现有的 postgres 用户。
也许你在使用 macports 安装 postgres后移动了你的 postgres 数据目录
找到您的 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 停止;--restart-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper restart ; --pid=无
所以我编辑
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
对于启动和停止命令。
你安装了postgresql84-server
端口吗?如果是这样,您是否启动了服务器:
$ sudo port load postgresql84-server
如果您同时执行了这两项操作,我注意到有时 MacPorts 守护程序处理程序 ( daemondo
) 在您重新启动计算机之前不会开始处理对 PostgreSQL 的请求。(这只在第一次启动时发生;后续尝试应该可以正常工作。)