无法从OSX终端应用程序创建postgres数据库

时间:2013-06-29 09:26:13

标签: django macos postgresql postgis

Postgres安装 :我使用了macports并按照下面的命令安装postgres。这是链接https://docs.djangoproject.com/en/dev/ref/contrib/gis/install/#macports

    $ sudo port install postgresql83-server

无法创建数据库 :当我尝试使用以下命令从终端应用程序创建数据库时

    $ createdb mydb

我收到此错误消息

    createdb: 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 "/var/pgsql_socket/.s.PGSQL.5432"?

你能帮忙!!

2 个答案:

答案 0 :(得分:1)

这是Mac OS X上众所周知的问题。

Apple将自己版本的PostgreSQL与一些OS X版本捆绑在一起。这有一个不同的默认套接字位置。如果Apple的psqllibpq位于PATHDYLD_LIBRARY_PATH的第一位,那么您将使用旧版本的工具,这些工具默认为Apple的套接字位置。

您应该修复PATH,以便MacPorts bin目录是第一个,因此首先找到正确的psqlpg_config。或者你可以只是:

psql -h /tmp

或:

psql -h localhost

...但由于使用来自不匹配版本的psql会导致奇怪的结果,因此修复PATH会更好。

有关Stack Overflow的更多信息,Google搜索"OS X" "postgresql" "could not connect to server: No such file or directory"信息量很大。

另外:请不要安装PostgreSQL 8.3。它已经过时且不受支持。安装PostgreSQL 9.2,当前版本。你为什么要用8.3?

答案 1 :(得分:0)

它告诉你数据库没有启动。当您安装Postgres时,macports告诉您运行一些命令来初始化和启动Postgres,另一个(launchctl ...)在您的计算机启动时启动Postgres。你运过那些吗?

如果没有看到这篇文章(根据需要更改文件位置):

https://shifteleven.com/articles/2008/03/21/installing-postgresql-on-leopard-using-macports/