레벨업 일지

[PSQL] Postgres pg_hba.conf 파일 없음 에러 본문

Linux/에러

[PSQL] Postgres pg_hba.conf 파일 없음 에러

24시간이모자란 2023. 11. 30. 01:31

글을쓰며

 

2023년 2월 어마무시한 이메일이 날라온다.

 블로그에 프로그래머스 풀이법을 포스팅하다가 , 사람들에게 내 풀이에 오류가 있나 알고싶어 프로그래머스 질문하기 란에 블로그 글을 공유하였다. 새롭게 알게 된 것이 있으면 숨기는 것이 아니라 공유해야 한다고 생각해서 꾸준히 작성하고 공유하였다. 또한 사람들이 검색하여 들어와 조회수가 늘어남에 재미가 들리었다.

하지만, 프로그래머스의 알림으로 저작권에 위반하는 것을 인지하여 블로그 수익창출 하던 것을 멈추고, 노션 개인 파일에 업로드를 하기 시작했다.

 

티스토리에 마지막 글을 쓴지 수개월이 지나고 , 다시 블로그를 찾아와 보니 조회수가 꾸준히 20 회 미만 있어왔다. 최고의 동기부여는 역시 "즐기는 자 모드" 이다. 행위가 재미있어야 코딩 공부에 열정을 부을 수 있음을 기대하고 다시 블로그 글을 작성한다. 블로그 글을 2023년 11월 30 일날 확인해보니, 조회수가 7천 명에 달하는데, 7만 명이 될때까지 다시 문제 풀이, 에러 디버깅을 공유할 예정이다.몰론 수익창출은 하지 않는다.

 

문제

구글링을 하면, /etc/postgresql 경로를 확인해보라한다.

  • 아침에 원격 Centos 서버에 구글링으로 Postgres 설치를 완료하고 저녁에 접속하고 포트 변경할 일이 생겨 pg_hba.conf 설정파일을 찾기 위해 구글링을 한 후 서버 파일을 찾아봤지만, /etc/postgres .. 경로가 존재하지 않았음.
  • 또한 , Postgres 쉘 명령어가 안먹혔다.

원인

  • 확인해보니 버전이 바뀌면서, 설정 파일 위치가 변하였음.
  • 구글링의 postgresql 버전은 옛날 버전으로 ( 8 이하 ) 내가 설치한 버전과는 다름을 알수있다. ( 버전 11)
  • Postgres 쉘 명령어는 , 쉘을 오픈 하지 않았기 때문이었음.

해결

  • 항상 postgres 쉘 호출하기 위해, sudo -i -u postgres 를 먼저 적용하자.
  • 원하는 파일 위치를 확인해보자 bash 명령어 구분을 위해 input 뒤에 $ 붙였다.
#postgres 쉘 루트 유저 로그인 
$ sudo -i -u postgres 

# confgiure file 위치 확인
$ psql -U postgres -c 'show config_file' 

# 비밀번호 변경 
postgres=# $ alter user postgres PASSWORD '저장할비밀번호';
ALTER ROLE

# pg_hba.conf 파일 위치 확인
postgres=# $SHOW hba_file;
			hba_file              
------------------------------------
 /var/lib/pgsql/11/data/pg_hba.conf
(1 row)
  • 설정 파일 위치는 다음 폴더에 있었다.
  • 설정 파일에서 port  4406 으로 바꾸었다.
  • 다음 두 설정 파일 위치이다.
$ sudo vi /var/lib/pgsql/11/data/postgresql.conf

# pg_hba 파일 위치 확인.
/var/lib/pgsql/11/data/pg_hba.conf

 

참고

https://askubuntu.com/questions/256534/how-do-i-find-the-path-to-pg-hba-conf-from-the-shell

 

 

Comments