我刚刚听完了这个教程:
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
我不知道还能做什么。
答案 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 ]*