在 Centos 上启动 PostgreSQL 服务器失败

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/27670841/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-09 05:51:20  来源:igfitidea点击:

Failing to start PostgreSQL server on Centos

postgresqlcentos6

提问by dex90

I just followed this tutorial:

我刚刚按照本教程进行操作:

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

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

But I can't start my postgres server on my centOS 6.5 machine.

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

Here's the error:

这是错误:

[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]

Before that tutorial I had already tried this one:

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

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

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

I don't know what else to do.

我不知道还能做什么。

回答by venkat

It seems your postgres Data directory is not empty!. So manually remove datadirectory under lib/pgsqllike,

看来你的 postgres Data directory is not empty!。所以手动删除像data下的目录lib/pgsql

 rm -rf /var/lib/pgsql/data

now initialize db. Yes, as @joop said, it would be better to take backup of data directory

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

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

If you are facing low disk memory in pgsql dir, you can move datato some where, to do

如果您在 pgsql 目录中面临磁盘内存不足的问题,您可以移动data到某个地方,做

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

so here, I hope you won't face chownproblem.

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

回答by Sergey Vlasov

I just had a similar problem. It was related to permissions. If you look at startup logs you should find error message.

我刚刚遇到了类似的问题。它与权限有关。如果您查看启动日志,您应该会发现错误消息。

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).

If it is related to permissions like in my case then run the following

如果它与像我这样的权限有关,则运行以下命令

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

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

service postgresql-9.4 start

回答by Shiv

This has helped me to start the Postgresql database 9.5 after moved the data directory and installed with sudo. Please check below:

这有助于我在移动数据目录并使用 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  ]*