无法在Centos上启动PostgreSQL服务器

时间:2014-12-27 19:43:01

标签: postgresql centos6

我刚刚听完了这个教程:

http://www.unixmen.com/postgresql-9-4-released-install-centos-7/

但是我无法在我的centOS 6.5机器上启动我的postgres服务器。

这是错误:

[root@vm5 ~]# service postgresql-9.4 initdb
Data directory is not empty!
[root@vm5 ~]# service postgresql-9.4 start                 [FAILED]
Starting postgresql-9.4 service:                           [FAILED]
[root@vm5 ~]# /etc/init.d/postgresql-9.4 start
Starting postgresql-9.4 service:                           [FAILED]

在那个教程之前,我已经尝试过这个:

https://wiki.postgresql.org/wiki/YUM_Installation

我不知道还能做什么。

3 个答案:

答案 0 :(得分:3)

看来你的帖子Data directory is not empty!。因此,请手动删除data下的lib/pgsql目录,

 rm -rf /var/lib/pgsql/data

现在初始化db。是的,正如@joop所说,最好是备份数据目录

mv /var/lib/pgsql/data  /var/lib/pgsql/data.OLD; 
mkdir /var/lib/pgsql/data; 
chown postgres:postgres /var/lib/pgsql/data

如果您在pgsql目录中遇到磁盘空间不足,可以将data移动到某些地方,

cp -aRv /var/lib/pgsql/data  to_dir/path
rm -rf /var/lib/pgsql/data/*

所以在这里,我希望你不会遇到chown问题。

答案 1 :(得分:1)

我遇到了类似的问题。它与权限有关。 如果你查看启动日志,你应该找到错误信息。

cat /var/lib/pgsql/9.4/pgstartup.log

< 2018-05-03 22:15:35.896 EDT >FATAL:  data directory "/var/lib/pgsql/9.4/data" has group or world access

< 2018-05-03 22:15:35.896 EDT >DETAIL:  Permissions should be u=rwx (0700).

如果它与我的案例中的权限相关,则运行以下

chown -R postgres /var/lib/pgsql/9.4/data

chmod -R 700 /var/lib/pgsql/9.4/data 

service postgresql-9.4 start

答案 2 :(得分:-1)

这有助于我在移动数据目录并使用sudo安装后启动Postgresql数据库9.5。请查看以下内容:

[hostname]# mv -f data data_BKP18072016
[hostname]# pwd
/var/lib/pgsql/9.5
[hostname]# sudo service postgresql-9.5 initdb
Initializing database:                                     [  OK  ]
[hostname]# sudo service postgresql-9.5 initdb
Starting postgresql-9.5 service:                           [  OK  ]
[hostname]# sudo service postgresql-9.5 start
Starting postgresql-9.5 service:                           [  OK  ]*