4

我的postgreSQL.conf样子

# - Connection Settings -

listen_addresses = '*'          # what IP address(es) to listen on;
                                        # comma-separated list of addresses;
                                        # defaults to 'localhost', '*' = all
                                        # (change requires restart)
port = 5432                             # (change requires restart)

而且我也知道 postgres 正在运行

air:data postgres$ ps -aef | grep postgres
  504 16474 16473   0 11:34AM ??         0:00.00 postgres: logger process
  504 16476 16473   0 11:34AM ??         0:00.00 postgres: writer process
  504 16477 16473   0 11:34AM ??         0:00.00 postgres: wal writer process
  504 16478 16473   0 11:34AM ??         0:00.00 postgres: autovacuum launcher process
  504 16479 16473   0 11:34AM ??         0:00.00 postgres: stats collector process
    0 16087 16078   0 10:54AM ttys001    0:00.03 su - postgres
  504 16473     1   0 11:34AM ttys001    0:00.22 /Library/PostgreSQL/9.1/bin/postgres -D/Library/PostgreSQL/9.1/data
  504 16484 16088   0 11:34AM ttys001    0:00.00 grep postgres

但我无法连接

 psql -Uuser -W
Password for user user:
psql: 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"?

另外,当我运行以下

 lsof -i tcp:5432
 ✘ me@air11:37:13 ⮀ ~ ⮀ netstat -a | grep postgres
tcp6       0      0  *.postgres             *.*                    LISTEN
tcp4       0      0  *.postgresql           *.*                    LISTEN

它什么也没说port 5432 我错过了什么?

更新

我的pg_hba.conf样子

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
4

4 回答 4

4

在 pg_hba.conf 中:

host    all             all             127.0.0.1/32            trust

最后一列更改为trust

于 2013-03-26T19:22:28.433 回答
0

不知道为什么会这样,但我发现postgresapp.com很好用

我在http://www.pgadmin.org/上使用它,到目前为止我运行得很顺利

于 2013-03-26T19:23:08.577 回答
0

您需要使用psql您安装的 PostgreSQL 软件包随附的程序,而不是Apple 系统psql/usr/bin一部分目录中的程序。

例如,如果使用postgres.app,他们在文档中说:

Mac OS 10.7 附带旧版本的 PostgreSQL,可以使用以下命令启动:

$ psql -h localhost PostgreSQL 附带了一系列有用的二进制文件,例如 pg_dump 或 pg_restore,您可能会想要使用它们。继续将 Postgres.app 附带的 /bin 目录添加到您的 PATH 中(最好在 .profile、.bashrc、.zshrc 等中,以确保为每个终端会话设置此内容):

PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
正确设置路径后,您应该能够在没有主机的情况下运行 psql。(如果没有,请通过执行 which psql 检查是否在 PATH 中加载了正确的版本)

如果使用另一个预打包的 postgresql 源,则使用不同的路径是一样的。

于 2013-03-26T19:16:14.847 回答
0

您可以尝试停止服务并重新启动服务。重新加载配置文件后。在它是否工作时再次检查。

于 2013-03-27T07:33:14.610 回答