이 문서는 CentOS 7에서 Postgres data directory 변경에 대한 가이드를 제공한다.



설치 환경

OS : CentOS 7.3.1611

DB : Postgresql 9.3.16


변경 방법

Postgres datadir 경로 확인 및 Postgres service 중지

Postgres 접속 하여 아래와 같은 명령어로 datadir 경로를 확인 하고 서비스를 중단 한다.

postgres=# show data_directory;
     data_directory      
-------------------------
 /var/lib/pgsql/9.3/data
(1 row)
\q


systemctl stop postgresql-9.3


설정파일 수정

아래와 같이 postmaster.opts, postgresql-9.3.service 설정 파일을 수정한다.

vi /var/lib/pgsql/9.3/data/postmaster.opts
/usr/pgsql-9.3/bin/postgres "-D" "/data/postgres/data"


vi /usr/lib/systemd/system/postgresql-9.3.service
Environment=PGDATA=/data/postgres/data/


새로운 Postgres datadir 생성 및 경로 이동

아래와 같은 명령어로 Postgres datadir 생성 후 새로운 경로로 이동 한다.

mkdir /data/postgres/
mv /var/lib/pgsql/9.3/data /data/postgres/


서비스 적용 및 시작

서비스를 재 적용 후 시작 한다.

systemctl daemon-reload


systemctl start postgresql-9.3


변경된 datadir 확인

postgres 접속 하여 datadir 경로가 바뀌었음을 확인 할 수 있다.

postgres=# show data_directory;
   data_directory    
---------------------
 /data/postgres/data
(1 row)