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

标签 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"?

你能帮忙吗!!

最佳答案

这是 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?

关于django - 无法从 OSX 终端应用程序创建 postgres 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17378696/

相关文章:

python-3.x - Django forms.ModelForm slugfield db_index=True

macos - 在OSX中,如何使用Automator启动绝对路径未知的程序

sql - 仅更改 BIGINT 类型的日期时间戳的时间

postgresql - 在 Docker 容器中启动 Postgres

ruby-on-rails - Docker Postgres Ruby on Rails 无法连接

Django Autocomplete Light 覆盖 html 选项以返回自定义值

python - Django 1.7 中的多个设置文件

python - Django/MySQL 唯一约束如何将 NULL 视为相等

java - 为什么两个 Java 进程可以绑定(bind)到 macOS 中的同一个套接字?

macos - 请求 EventKit 访问 macOS SwiftUI