Postgresql Postgres数据库本地安装/运行
正在尝试在OSX Mountain Lion上设置Postgres/PostGIS以与Django一起使用。然而,有些地方出了问题,我不知道如何解决它Postgresql Postgres数据库本地安装/运行,postgresql,command-line,installation,osx-mountain-lion,postgis,Postgresql,Command Line,Installation,Osx Mountain Lion,Postgis,正在尝试在OSX Mountain Lion上设置Postgres/PostGIS以与Django一起使用。然而,有些地方出了问题,我不知道如何解决它 $ createdb geo createdb: could not connect to database postgres: could not connect to server: No such file or directory Is the server running locally and accepting co
$ createdb geo
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"?
$ postgres -D /usr/local/var/postgres
FATAL: lock file "postmaster.pid" already exists
HINT: Is another postmaster (PID 221) running in data directory "/usr/local/var/postgres"?
$ pg_ctl -D /usr/local/var/postgres -l logfile start
pg_ctl: another server might be running; trying to start server anyway
server starting
然后我发现上面说了如何在狮子身上固定它。但是,它对我不起作用:
$ kill -9 221
$ pg_ctl -D /usr/local/var/postgres stop
waiting for server to shut down.... done
server stopped
$ pg_ctl -D /usr/local/var/postgres start
pg_ctl: another server might be running; trying to start server anyway
server starting
FATAL: lock file "postmaster.pid" already exists
HINT: Is another postmaster (PID 1436) running in data directory "/usr/local/var/postgres"?
另一次尝试:
$ cd /usr/local/var/postgres
$ mv postmaster.pid postmaster.backup
$ pg_ctl -D /usr/local/var/postgres start
server starting
$ LOG: could not bind IPv6 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
LOG: could not bind IPv4 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
LOG: could not bind IPv6 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
WARNING: could not create listen socket for "localhost"
FATAL: could not create any TCP/IP sockets
有人成功地与山狮合作过吗?如果是,我错过了什么?感谢您在这个问题上的帮助 此消息:
createdb:无法连接到数据库postgres:无法连接到
服务器:没有这样的文件或目录
服务器是否在本地运行并接受
Unix域套接字上的连接“/var/pgsql\u socket/.s.pgsql.5432”
表示您的PostgreSQL server未使用/var/pgsql_socket
作为其Unix域套接字目录,该目录是服务器和客户端之间的rendez-vous点。这是很常见的,因为只有苹果随OSX服务器提供的PostgreSQL才使用该路径。顺便说一句,这就是为什么苹果提供的createdb
命令试图连接到苹果配置的服务器
从这一点来看,有很多不同的解决方案可以解决这个问题,但更明显的是使用PostgreSQL安装附带的createdb
命令,而不是系统中预先安装的命令
如果您需要进一步的帮助,您应该指定如何安装PostgreSQL,因为有很多不同的包提供它,它们都使用不同的路径来避免相互践踏
针对自制软件的更新
如果使用brew,我建议在superuser.com上应用以下答案:
想必您所指的Postgres+Postgis教程的作者很久以前就改变了它的路径
,忘了在他的文本中提到它
完成后,createdb的命令
应返回自制版本的/usr/local/bin/psql
,而不是苹果版本的初始版本。谢谢您的想法@Daniel。我使用自制软件安装了PostGREs,并遵循。你有没有办法解决这个问题,这样我就可以在django项目中使用我的PostGREs数据库?谢谢你的想法!谢谢你,丹尼尔。我按照链接帖子中的说明,将usr/local/bin
放在usr/bin
上方,但当我尝试哪个createdb
时,它输出的是/usr/bin/createdb
,而不是上面列出的内容。我是否缺少正确链接路径的内容?谢谢你的想法@你是说编辑路径?你在一个新的终端开始了一个新的会话吗?谢谢@Daniel。是的,我编辑了/etc/path
,正如您链接的帖子中接受的答案所建议的那样。我还启动了一个新的终端会话和,createdb
现在返回/usr/local/bin/createdb
。。关于如何解决这个问题有什么想法吗?谢谢你的想法@NickB:现在回到问题的开头,您可以重试createdb geo
,希望它不会无法连接到postgresql。