gpt4 book ai didi

Postgresql 启动失败

转载 作者:行者123 更新时间:2023-11-29 11:37:05 25 4
gpt4 key购买 nike

我正在尝试在 Openstack 上通过 Fabric 构建一个盒子。安装的一部分涉及安装和运行 PostgreSQL。

这个命令工作正常:

$ sudo service postgresql initdb 

此命令失败:

$ sudo service postgresql start

当我运行此命令时,失败的日志输出显示没有问题:

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

此命令显示以下消息:

$ cat /var/lib/pgsql/data/pg_log/postgresql-Wed.log

LOG: could not open configuration file "/var/lib/pgsql/data/pg_hba.conf": Permission denied FATAL: could not load pg_hba.conf

执行这些命令时我的用户有以下组:

vagrant, wheel

我的用户位于 /etc/sudoers 下的 sudoers 列表中,具有以下权限:

vagrant  ALL=(ALL) NOPASSWD: ALL

pgsql 权限:

[root@integration ~]# ls -ltr /var/lib/pgsql/
total 12
drwx------. 2 postgres postgres 4096 Sep 13 2012 backups
-rw-------. 1 postgres postgres 1152 Jun 19 20:17 pgstartup.log
drwx------. 12 postgres postgres 4096 Jun 19 20:19 data

和子目录数据:

[root@integration ~]# ls -ltr /var/lib/pgsql/data/
total 76
-rw-------. 1 postgres postgres 4 Jun 19 20:17 PG_VERSION
drwx------. 2 postgres postgres 4096 Jun 19 20:17 pg_twophase
drwx------. 2 postgres postgres 4096 Jun 19 20:17 pg_tblspc
drwx------. 2 postgres postgres 4096 Jun 19 20:17 pg_stat_tmp
drwx------. 4 postgres postgres 4096 Jun 19 20:17 pg_multixact
-rw-------. 1 postgres postgres 16886 Jun 19 20:17 postgresql.conf
-rw-------. 1 postgres postgres 1631 Jun 19 20:17 pg_ident.conf
drwx------. 3 postgres postgres 4096 Jun 19 20:17 pg_xlog
drwx------. 2 postgres postgres 4096 Jun 19 20:17 pg_subtrans
drwx------. 2 postgres postgres 4096 Jun 19 20:17 pg_clog
drwx------. 5 postgres postgres 4096 Jun 19 20:17 base
drwx------. 2 postgres postgres 4096 Jun 19 20:17 global
-rw-------. 1 postgres postgres 241 Jun 19 20:17 pg_hba.conf
drwx------. 2 postgres postgres 4096 Jun 19 20:17 pg_log
-rw-------. 1 postgres postgres 57 Jun 19 20:19 postmaster.opts

最佳答案

这原来是一个 selinux 问题。我禁用它并且很好。完整配置如下。

对于那些不使用 selinux 的人(像我一样,直到今天)可以在以下位置找到配置:

 /etc/selinux/config

也可以这样暂时关闭:

echo 0 > /selinux/enforce

完整配置

[root@integration selinux]# cat config 
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.

关于Postgresql 启动失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17204055/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com