postgresql 서비스 시작 문제

postgresql 서비스 시작 문제

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

로그: '/var/lib/pgsql/data/pg_hba.conf' 구성 파일을 열 수 없습니다. 권한이 거부되었습니다. 치명적: pg_hba.conf를 로드할 수 없습니다.

내 사용자는 이 명령을 실행할 때 다음 그룹을 갖습니다.

vagrant, wheel

내 사용자는 sudoers다음 권한을 가진 목록에 있습니다./etc/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

및 하위 디렉터리 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

답변1

을 수행하더라도 sudo실제로 PostgreSQL을 시작할 수 있음을 확인하기 때문에 다음을 시도해 보겠습니다.

$ sudo su -
$ service postgresql start

위 명령을 사용하여 서비스를 시작할 수 있으면 vagrant 계정은 sudo 및 서비스를 시작할 수 없습니다.

답변2

이것은 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.

관련 정보