在升级到OSX Mavericks后修复PostgreSQL。

16 浏览
0 Comments

在升级到OSX Mavericks后修复PostgreSQL。

我最近将OSX Mavericks升级后,我的Rails应用的数据库连接出现了问题。\n当我尝试从数据库中获取数据时,服务器返回以下错误:\n

PG::ConnectionBad (无法连接到服务器:拒绝连接
    服务器是否在主机“localhost”(::1)上运行
    并接受端口5432上的TCP/IP连接?
无法连接到服务器:拒绝连接
    服务器是否在主机“localhost”(127.0.0.1)上运行
    并接受端口5432上的TCP/IP连接?
无法连接到服务器:拒绝连接
    服务器是否在主机“localhost”(fe80::1)上运行
    并接受端口5432上的TCP/IP连接?

\n当尝试运行psql时,我收到以下错误:\n

psql:无法连接到服务器:没有该文件或目录
    服务器是否在本地运行并接受
    Unix域套接字“/tmp/.s.PGSQL.5432”上的连接?

\n


\n我尝试了许多在互联网上找到的解决方法,如重新安装pg gem并在我的database.yml中设置host: localhost。我的/usr/local/var/postgres/pg_hba.conf文件如下:\n

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "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     RyanKing                                trust
#host    replication     RyanKing        127.0.0.1/32            trust
#host    replication     RyanKing        ::1/128                 trust

\npsql命令返回:/usr/local/bin/psql\n


\n有关此问题的解决方案吗?一些解决方案建议我需要将$PATH更改为我的先前postgres安装位置,因为Mavericks会添加一个新版本的postgres。我如何找到它的位置?它很可能是通过homebrew安装的,但我不确定。

0
0 Comments

当升级到OSX Mavericks后,出现了修复postgresql的问题。问题产生的原因是升级过程中进程被强制终止,导致postgres pid文件残留在系统中。解决方法是在升级之前确保关闭所有进程。使用homebrew安装的Postgres PID文件路径为/usr/local/var/postgres/postmaster.pid

0
0 Comments

问题原因:在升级到OSX Mavericks之后,PostgreSQL应用程序没有被启动。

解决方法:启动PostgreSQL应用程序。

具体步骤:

1. 安装并启动9.3版本的PostgreSQL(在我的应用程序文件夹中显示为Postgres93)。

2. 将9.2版本的PostgreSQL移动到垃圾箱。

3. 由于数据库没有迁移,Rails出现错误,于是我回退了操作。

4. 退出9.3版本的PostgreSQL。

5. 从垃圾箱中恢复9.2版本的PostgreSQL。

6. 启动9.2版本的PostgreSQL。

7. 问题解决。

我随后意识到:

1. 问题是由于OSX Mavericks安装后并没有运行PostgreSQL引起的。

2. 在此之前,我从未采取过任何明确的操作来使PostgreSQL在启动时运行,但是...

3. Mac OS在重新启动后会自动重新启动先前运行的PostgreSQL。

0
0 Comments

问题出现的原因:

在升级到OSX Mavericks后,PostgreSQL出现了问题。可能是因为之前安装的版本与新的操作系统不兼容,或者是因为数据库文件路径发生了变化。

解决方法:

1. 如果是通过homebrew安装的,可以尝试以下操作:

- 执行命令brew info postgresql,获取PostgreSQL的信息;

- 执行命令launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist,卸载旧的PostgreSQL服务;

- 执行命令launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist,重新加载PostgreSQL服务。

2. 如果使用的是Postgress.app,默认情况下无法找到数据库。可以尝试以下操作:

- 手动指定PGDATA目录,将其指向数据库文件所在的目录;

- 如果之前使用的是9.2版本,而Postgress.app是9.3版本,可能会出现版本冲突。可以通过备份和恢复数据库的方式解决。

3. 如果之前安装的是9.2.3版本,可以尝试以下操作:

- 执行命令postgres -D /usr/local/var/postgres,启动9.2.3版本的PostgreSQL服务;

- 执行命令pg_dumpall > ~/mydatabases.dump,备份所有数据库;

- 关闭PostgreSQL服务;

- 执行命令brew reinstall postgresql,重新安装PostgreSQL(版本从9.2.3升级到9.3.1);

- 执行命令psql < mydatabaes.dump,导入之前备份的数据库。

4. 如果以上方法无效,可以尝试使用Postgress.app,并将数据库导入该应用程序中。

这样做之后,应该能够修复PostgreSQL在升级到OSX Mavericks后出现的问题。

0