AWS의 Amazon Linux 서버에서 dnf 명령어를 이용하여 postgresql 설치하는 방법
여기서 사용되는 dnf명령어는 yum으로 대체할 수 있다.
1) 패키지 조회하기
dnf list | grep postgre
2) 패키지 설치하기
sudo dnf install postgresql16-server
3) 서비스 등록(systemctl) 확인하기
systemctl status postgresql
sudo cat /usr/lib/systemd/system/postgresql.service
PGDATA 데이터 경로가 서비스 파일에 등록되어 있다. 데이터 경로 변경 시 서비스 파일도 같이 변경해야 한다.
4) systemctl 시작하기 (오류발생함)
sudo systemctl statrt postgresql
5) 시작 오류 확인
sudo journalctl -xeu postgresql.service
initdb를 하지 않아서 발생한 것으로 보인다.
아까 서비스 파일에 있던 PGDATA 경로가 /var/lib/pgsql/data였는데 오류 로그에서도 확인된다. 이 경로에 대해 initdb를 해야겠다.
6) initdb
initdb명령어를 그냥 실행하면 권한 등의 오류로 실행이 안된다.
su - postgres로 계정을 바꿔서 initdb를 한다.
initdb -D /var/lib/pgsql/data --encoding=utf8 --lc-collate=C --lc-ctype=ko_KR.UTF-8
7) postgreql 시작
postgresql 계정은 sudoer가 아닐 것이기 때문에 exit로 로그아웃 후 systemctl 명령어를 실행한다.
sudo systemctl start postgresql
기동 성공