【问题标题】:Could not connect to Postgresql on Mac OS X after Installation安装后无法连接到 Mac OS X 上的 Postgresql
【发布时间】:2013-02-20 02:16:02
【问题描述】:

所以我在我的 Mac 上安装了 Postgresql,每当我运行 psqlcreatedb cool_database_name 之类的东西时,我都会收到以下错误。

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

所以我遵循不同的解决方案。我重新安装 postgresql 无济于事。我去 postgresql.conf` 并将其更改为

#port = 5432                             # (change requires restart)
#max_connections = 20                    # (change requires restart)
# Note:  Increasing max_connections costs ~400 bytes of shared memory per
# connection slot, plus lock space (see max_locks_per_transaction).
#superuser_reserved_connections = 3     # (change requires restart)
#unix_socket_directory = '/var/pgsql_socket'             # (change requires restart)
#unix_socket_group = ''                 # (change requires restart)
#unix_socket_permissions = 0777         # begin with 0 to use octal notation

还是什么都没有。我运行诸如

之类的命令
ls -lA /var/run/postgresql

这告诉我文件或目录不存在。

我还检查了pg_hba.conf 文件,但一切正常

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     jason                                trust
#host    replication     jason        127.0.0.1/32            trust
#host    replication     jason        ::1/128                 trust

当我运行psql -h localhost 时,我得到了

psql: could not connect to server: Connection refused
    Is the server running on host "localhost" (::1) and accepting
    TCP/IP connections on port 5432?
could not connect to server: Connection refused
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?
could not connect to server: Connection refused
    Is the server running on host "localhost" (fe80::1) and accepting
    TCP/IP connections on port 5432?

我不知道如何解决这个问题。任何帮助,将不胜感激。

【问题讨论】:

    标签: macos sockets postgresql installation


    【解决方案1】:

    问题在于 Mac OS 自带 PostgreSQL

    $ `which psql` --version
    psql (PostgreSQL) 9.1.4
    contains support for command-line editing
    

    您需要像这样更改 PATH:

    export PATH="path_to_bin_folder_of_your_new_postgres_install:$PATH"
    

    例如,对于 Postgres.app:

    export PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
    

    这可能有用:http://blog.ringerc.id.au/2012/09/postgresql-packaging-on-mac-os-x-is-mess.html

    【讨论】:

    • 对我来说路径是/Applications/Postgres.app/Contents/Versions/9.4/bin
    • 我从 .dmg 安装了 postgres,不得不参考 '/Library/PostgreSQL/9.5/bin'
    猜你喜欢
    • 2015-07-06
    • 2013-11-01
    • 2016-07-05
    • 2011-01-02
    • 2017-11-02
    • 2011-05-04
    • 2012-10-24
    • 2014-07-24
    相关资源
    最近更新 更多