해보記/Server

<記> CentOS 7에 PostgreSQL 12 설치하기

Light Pillar 2019. 12. 2. 17:29

현재 구성하고 있는 서버에는 이미 CentOS를 설치할 때 패키지로 설치된 PostgreSQL이 있다.(솔직히 언제 어떻게 설치했는지 기억이 나질 않는다... ㅡㅡ; 그냥 패키지로 설치되었다 추측하고 있다.)

# PostgreSQL 버전 확인
$ /usr/bin/postgres --version

기존에 설치되어 있는 PostgreSQL 9.2.24를 삭제하고 최신 버전의 PostgreSQL(11 이상)을 설치하려 한다.


1. PostgreSQL 9.2.24 삭제하기

먼저 service로 등록되어 실행되고 있는 PostgreSQL을 확인합니다.

# 실행 서비스 확인
$ systemctl list-unit-files --type=service

그냥 이렇게 조회하면 너무 많이 나와 계속 스페이스를 눌러야 하죠.. 찾을 때까지. 옵션을 추가하겠습니다.

# 실행 서비스 확인 (서비스 이름이 post*로 시작되는 서비스만 검색)
$ systemctl list-unit-files --type=service | grep post*

postgresql.service 가 enabled로 확인이 되네요. 

 

PostgreSQL을 삭제할 예정이니, 이제 서비스롤 종료해야겠지요?

# postgresql 서비스 중지
$ service postgresql stop
# postgresql 서비스 자동 시작 중지
$ systemctl disable postgresql


자꾸 권한 체크를 해서 다음부터는 root 계정으로 진행하겠습니다.


이어서, PostgreSQL에서 사용하던 데이터 파일도 삭제해 줍니다.

# PostgreSQL 데이터 파일 삭제
# rm -rf /var/lib/pgsql

나중에 다시 생성하더라도 우선은 계정과 그룹도 삭제합니다.

# 계정 확인
# cat /etc/passwd | grep postgres
# 그룹 확인
# cat /etc/group | grep postgres

# 계정 삭제(그룹도 같이 삭제됨)
# userdel postgres 

마지막으로 PostgreSQL 패키지를 삭제합니다.

# 패키지 삭제
# yum remove *postgres*

-- 중략 --

자.. 이것으로 PostgreSQL 9.2.24는 삭제되었습니다. 이제 새 버전의 PostgreSQL을 설치해야지요??

 

2. PostgreSQL 12 설치하기

yum repository를 업데이트합니다.

# YUM Repository 업데이트
# rpm -Uvh https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

 

2019.12.02 현재 PostgreSQL의 최신 버전은 12이므로 PostgreSQL 12를 설치하겠습니다.

lastest 버전의 추가 정보도 확인하고...

그럼 이제, PostgreSQL 12를 설치합니다.

# postgresql 12 설치하기, 추가 지원 모듈도 같이 설치
# yum -y install postgresql12-server postgresql12-contrib

-- 중략 --

이제 기본 데이터베이스를 생성해 줍니다.

# 기본 데이터베이스 생성
# /usr/pgsql-12/bin/postgresql-12-setup initdb

서비스가 자동으로 실행될 수 있도록 서비스 등록 및 실행의 과정이 필요합니다.

# 서비스 실행 및 등록
# systemctl enable --now postgresql-12
# 서비스 등록 및 실행 여부 확인
# systemctl list-unit-files --type=service | grep post*

새롭게 설치된 PostgreSQL 12의 상태도 확인해 봅니다.

# 상태확인
# systemctl status postgresql-12

postgresql 관리자의 패스워드를 설정해 줍니다.

# postgresql 관리자 패스워드 설정
# su - postgres
- bash-4.2$ psql -c "alter user postgres with password '패스워드'"

원격접속이 가능하도록 설정해 줍니다.

# postgresql.conf 수정
# vi /var/lib/pgsql/12/data/postgresql.conf

# pg_hba.conf 수정
# vi /var/lib/pgsql/12/data/pg_hba.conf

마지막으로 PostgreSQL12를 다시 실행해 줍니다. 그래야 변경된 설정들이 적용이 되겠지요?

# 서비스 재시작
# systemctl restart postgresql-12

 

저는 DB Tool로 DBeaver를 사용하기에 접속 테스트를 해 보았습니다.

잘 접속되네요.. ^^ 

 

설치는 잘 끝났고, 이제 열심히 사용해서 실력을 키우는 일만 남았군요.. ^^