红联Linux门户
Linux帮助

Fedora21升级到Fedora22后,PostgreSQL无法启动

发布时间:2015-06-22 21:11:57来源:zh.arslanbar.net作者:巨大八爪鱼

状况1:
[octopus@pc3 ~]$ sudo service postgresql start
Redirecting to /bin/systemctl start  postgresql.service
Job for postgresql.service failed. See "systemctl status postgresql.service" and "journalctl -xe" for details.


状况2:
[octopus@pc3 ~]$ psql
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?


其实问题的根源是我今天在执行sudo dnf update时无意中发现的:

Total  116 kB/s |  75 MB     10:58   
Delta RPMs reduced 258.5 MB of updates to 74.7 MB (71.1% saved)
Running transaction check
Transaction check succeeded.
Running transaction test
Error: Transaction check error:
file /usr/share/doc/postgresql/README.rpm-dist conflicts between attempted installs of postgresql-9.4.4-1.fc22.i686 and postgresql-9.4.4-1.fc22.x86_64

Error Summary


这是因为出现了conflicts,系统中同时安装了postgresql-9.4.4-1.fc22.i686 and postgresql-9.4.4-1.fc22.x86_64两个版本而出错。因此只需卸载其中一个版本即可。

[octopus@pc3 ~]$ sudo dnf remove postgresql-9.4.3-1.fc22.x86_64
Dependencies resolved.
Package                  Arch         Version              Repository     Size
Removing:
postgresql               x86_64       9.4.3-1.fc22         @System       3.8 M
postgresql-devel         x86_64       9.4.3-1.fc22         @System       4.3 M
postgresql-docs          x86_64       9.4.3-1.fc22         @System        23 M
postgresql-server        x86_64       9.4.3-1.fc22         @System        17 M
postgresql-upgrade       x86_64       9.4.3-1.fc22         @System       9.1 M

Transaction Summary
Remove  5 Packages

Installed size: 58 M
Is this ok [y/N]: n
Operation aborted.

[octopus@pc3 ~]$ sudo dnf remove postgresql-9.4.3-1.fc22.i686
Dependencies resolved.
Package             Arch          Version               Repository        Size
Removing:
postgresql          i686          9.4.3-1.fc22          @System          3.7 M

Transaction Summary
Remove  1 Package

Installed size: 3.7 M
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Erasing: postgresql-9.4.3-1.fc22.i686  1/1
Verifying: postgresql-9.4.3-1.fc22.i686  1/1

Removed:
postgresql.i686 9.4.3-1.fc22                                                 

Complete!


因为卸载postgresql-9.4.3-1.fc22.i686时只卸载一样东西,而卸载postgresql-9.4.3-1.fc22.x86_64需要卸载所有的有关psql的东西。所以只卸载i686那个不完整版本。执行:
sudo dnf remove postgresql-9.4.3-1.fc22.i686


然后升级数据库:
[octopus@pc3 ~]$ sudo postgresql-setup --upgrade
* Upgrading database.
* Upgraded OK.
WARNING: The configuration files were replaced by default configuration.
WARNING: The previous configuration and data are stored in folder
WARNING: /var/lib/pgsql/data-old.
* See /var/lib/pgsql/upgrade_postgresql.log for details.

[octopus@pc3 ~]$ sudo service postgresql start
Redirecting to /bin/systemctl start  postgresql.service


启动成功!问题已解决。


CentOS 6.5下PostgreSQL故障切换实现:http://www.linuxdiyf.com/linux/12605.html

Linux安装PostgreSQL 9.4:http://www.linuxdiyf.com/linux/12237.html

在Linux下面卸载与重新安装PostgreSQL(rpm包):http://www.linuxdiyf.com/linux/7288.html

Ubuntu下手动编译安装PostgreSQL9.1和pgAdmin3:http://www.linuxdiyf.com/linux/2161.html

Fedora安装PostgreSQL 8.4.11:http://www.linuxdiyf.com/linux/3854.html