gpt4 book ai didi

osx-lion - 如何在 OSX Lion 上安装 PostgreSQL 9.1

转载 作者:行者123 更新时间:2023-11-29 11:39:18 29 4
gpt4 key购买 nike

我从官方网站下载了 PostgreSQL 并运行了 .dmg 安装程序。之后我下载了 pgadmin3,我确实能够连接到数据库。

当我运行“psql”时,出现以下错误:

psql: could not connect to server: No such file or directory
Is the server running locally and accepting

经过几个小时的谷歌搜索,我了解到一些 $PATH 问题,所以我将其放入我的 .bashrc 中:

export PATH=/Library/PostgreSQL/9.1/bin:$PATH

但是,这根本没有解决上面的错误。经过几个小时的谷歌搜索后,我尝试运行“psql -l localhost -U postgres”。这给出了另一个错误:

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?

经过更多谷歌搜索后,我尝试编辑/Library/PostgreSQL/9.1/data/pg_hba.conf 并将所有出现的“md5”替换为“trust”。

然后我将用户更改为 postgres 并执行“pg_ctl stop”和“pg_ctl start”,切换回我自己的用户并尝试再次连接,但没有成功。

这里有一些更多的信息:

[~]$ which psql
/Library/PostgreSQL/9.1/bin/psql

ps aux | grep postgres
postgres 19022 0.0 0.0 2446096 484 ?? Ss 11:31PM 0:00.01 postgres: stats collector process
postgres 19021 0.0 0.0 2486532 1776 ?? Ss 11:31PM 0:00.01 postgres: autovacuum launcher process
postgres 19020 0.0 0.0 2486400 576 ?? Ss 11:31PM 0:00.03 postgres: wal writer process
postgres 19019 0.0 0.0 2486400 820 ?? Ss 11:31PM 0:00.05 postgres: writer process
postgres 19017 0.0 0.0 2446096 356 ?? Ss 11:31PM 0:00.01 postgres: logger process
postgres 19015 0.0 0.1 2486400 8216 s001 S 11:31PM 0:00.17 /Library/PostgreSQL/9.1/bin/postgres

sudo find / -name .s.PGSQL.5432
No file was found?!?

更新 1:在/etc/sysctl.conf 中,我添加了安装程序自述文件建议的值:

kern.sysv.shmmax=1610612736
kern.sysv.shmall=393216
kern.sysv.shmmin=1
kern.sysv.shmmni=32
kern.sysv.shmseg=8
kern.maxprocperuid=512

在这些设置之前,安装程序因错误而退出,之后出现向导并安装 postgres(再次使用 pgadmin3 工作,所以我假设数据库运行正常)。

最佳答案

在主进程上运行 lsof 以完成所有这些。在您的情况下是 19015(与我的 PID 一起显示):

> sudo lsof -p 286 | awk '$5 == "unix" && $NF ~ /\// { print $NF }' 
/tmp/.s.PGSQL.5432

您可以不使用 awk,但基本上它是获取 postgres 正在监听的 UNIX 套接字。从那里,您可以对 psql 使用 -h 选项(但仅包含目录)。

> psql -h /tmp template1                                                                                                                                                                                                                                                            
template1=# \q

如果这不起作用,您可以检查 lsof 输出以显示它实际监听的 TCP 端口,如果不是 5432,请使用 -p postgres 的选项

关于osx-lion - 如何在 OSX Lion 上安装 PostgreSQL 9.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9354122/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com