[PostgreSQL] Data directory 변경

[원본 링크]

onpremise 환경에서 이래저래 디스크를 굴리다보면, 기본 경로가 아닌 서브 경로로 DB 저장 경로를 바꾸고 싶을 수도 있다.

딱 이런 경우가 그런 경우다.

기본 마운트 경로는 1테라도 안되는데, 나중에 꼽아놓은 저장용 마운트 경로 /data가 근 4테라를 가지고 있다.
이런 상황에서는 DB 저장 경로를 넉넉한 마운트로 바꾸고 싶을 수 있을 것이다.




DB 중단

먼저 손상 없이 DB를 옮겨야 하니, 중단을 시키자.

sudo systemctl stop postgresql.service




저장 경로 확인 및 이동

보통 DB 저장소는 /var/lib/postgresql/버전/main 경로에 존재한다.

저게 다 실질적인 DB의 앙꼬다.
저걸 옮겨야 하는 것이다.

새로운 경로에 적절히 디렉터리를 구성해주고

mkdir -p postgresql/13/main

권한 주고

sudo chown -R postgres /data/postgresql/13/main

옮긴다.

sudo mv /var/lib/postgresql/13/main/ /data/postgresql/13/main





저장 경로 교체

이번에는 새로 만든 저장공간을 psql이 가르키도록 설정을 조절해줘야 한다.
conf 파일을 찾아서

sudo vi /etc/postgresql/13/main/postgresql.conf

저 data_directory를


새 경로로 교체해준다.

그리고 DB를 재시작하면 끝이다.

sudo systemctl start postgresql.service

별다른 오류 없이 active가 된다면 잘 된 것이고


이렇게 저장 경로도 교체가 된 것을 확인할 수 있다.