프로그래밍/운영체제
[리눅스] 우분투에서 Postgresql 9.5 저장 위치 변경하기
포도알77
2019. 3. 11. 08:27
OS 가 깨질 수도 있으니.. 항상 데이터 영역과 OS 영역은 구분하자.
데이터를 저장할 디스크의 마운트 위치가 /db라고하자.
[1] 기존 디비 저장 위치 확인
sudo -u postgres psql
SHOW data_directory;
먼저 sudo 명령으로 postgres 사용자를 실행한다.
이후 SHOW data_directory;를 입력하여 현재 위치를 확인한다. 아마도 아래처럼 나올 것이다.
data_directory
------------------------------
/var/lib/postgresql/9.5/main
(1 row)
이제 시스템상에서 postgresql 서비스를 멈추어 준다. 그리고 현재 상태를 확인하여, Stopped 상태인지 확인하자.
[3] 저장 공간 형식 카피
[5] conf에 위치 변경
sudo systemctl stop postgresql
sudo systemctl status postgresql
sudo rsync -av /var/lib/postgresql /db
앞 위치는 기존 데이터 베이스 저장 위치, 뒤 위치는 새로운 저장공간. 여기서 끝에 / (슬래시)가 붙으면 안된다.
[4] 기존 conf 백업 백업은 필수다.
sudo mv /var/lib/postgresql/9.5/main /var/lib/postgresql/9.5/main.bak
sudo vi /etc/postgresql/9.5/main/postgresql.conf
역시 편집기는 자신이 편한것 쓰자.
[6] data_directory 변경
postgresql.conf에서 data_directory를 찾아서 변경해주자.
이후에 처음과 똑같이 postgresql상에서 확인해보자.
.
.
data_directory = '/db/postgresql/9.5/main'
.
.
[7] postgresql 재시작과 확인
postgresql을 재시작하고, 상태를 확인하자
sudo systemctl start postgresql
sudo systemctl status postgresql
sudo -u postgres psql
SHOW data_directory;
[8] 마지막 정리
sudo rm -Rf /var/lib/postgresql/9.5/main.bak
sudo systemctl restart postgresql
sudo systemctl status postgresql
백업 파일은 지우고, 재시작하자.
끝났다.