Ant*_*rov 2 postgresql installation macports
正如我在标题中所说,我已经安装了PostgreSQL usind MacPorts,但无法访问它.
安装过程是
$ sudo port install postgresql83-server
$ sudo mkdir -p /opt/local/var/db/postgresql83/webcraft
$ sudo chown postgres:postgres /opt/local/var/db/postgresql83/webcraft
$ sudo su postgres -c '/opt/local/lib/postgresql83/bin/initdb -D /opt/local/var/db/postgresql83/webcraft'
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.postgresql83-server.plist
Run Code Online (Sandbox Code Playgroud)
我的路径是
/opt/local/lib/postgresql83/bin:/opt/local/lib/mysql5/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
Run Code Online (Sandbox Code Playgroud)
我尝试使用psql客户端连接服务器
$ psql
psql: 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"?
Run Code Online (Sandbox Code Playgroud)
这是一些信息
$ ps ax | grep postgres | grep -v grep
52 ?? Ss 0:00.00 /opt/local/bin/daemondo --label=postgresql83-server --start-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql83-server/postgresql83-server.wrapper start ; --stop-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql83-server/postgresql83-server.wrapper stop ; --restart-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql83-server/postgresql83-server.wrapper restart ; --pid=none
Run Code Online (Sandbox Code Playgroud)
小智 10
你试过跑步了吗:
which psql
Run Code Online (Sandbox Code Playgroud)
我想psql仍在引用/usr/bin/psql,并且psql的macports版本后缀为版本号,在你的情况下为psql83.您可以将psql别名为psql83,作为一种简单的解决方法.更好的是更改默认值:
sudo port select --set postgresql postgresql83
Run Code Online (Sandbox Code Playgroud)
这将做正确的路由.
对此有一个非常简单的解决方案,但我认为它没有很好的记录:
MacPorts鼓励安装他们的*_select端口来管理可能的多个版本的软件(比如说你想要同时使用Postgres93和Postgres94).这是一个很棒的功能,但它增加了一个额外的步骤,由于某些原因很少在文档中提到:
$ sudo port install postgresql94-server
Run Code Online (Sandbox Code Playgroud)
$ sudo port install postgresql_select
$ sudo port select postgresql
Available versions for postgresql:
none (active)
postgresql94
Run Code Online (Sandbox Code Playgroud)
$ sudo port select postgresql postgresql94
$ sudo port load postgresql94-server
Run Code Online (Sandbox Code Playgroud)
简单地安装Postgres并不能完全设置符号链接以使其易于运行.安装postrgresql_select为MacPorts提供了通过它完成所需的信息port select.一旦选择了您选择的活动版本,luanchctl就可以轻松启动Posgres服务器port load postgresqlXX-server.
| 归档时间: |
|
| 查看次数: |
10262 次 |
| 最近记录: |