프로그래밍/DB, SQL, EF

[PostgreSQL] 윈도우(Windows)에서 기본 데이터 폴더 변경

당근천국 2023. 8. 26. 15:30

'PostgreSQL'설치하고 기본 생성돼 있는 데이터 폴더를 변경하고 싶었습니다.

 

 

1. 파일 수정은 의미가 없다.

다른 운영체제의 경우 'postmaster.opts'의 내용을 변경해 주면 된다는데....

윈도우는 아닙니다.

 

 

2. 진짜는 서비스에 있다.

'PostgreSQL' 서비스를 확인해 보면 실행 매개변수에 '-D'옵션이 있는 것을 알 수 있습니다.

'postgresql-x64-15'가 포스트그레SQL의 서비스 이름입니다.

 

 

3. 서비스 내용 변경

서비스 경로는 직접 바꿀 수 없으므로 레지스트를 수정해야 합니다.

 

레지스트리 편집기를 실행합니다.(regedit)

 

경로는

컴퓨터\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\postgresql-x64-15

입니다.

 

항목 중에 'ImagePath'를 수정하면 됩니다.

원하는 위치로 바꿔준다.

이제 기존 'data' 폴더의 내용을 옮기려는 위치로 복사하고

서비스를 시작하면 됩니다.

 

예> 'D:\Program Files\PostgreSQL\15\data'의 내용물을 'D:\db\postgressql'로 옮긴다.

 

 

레지 파일을 만들고 싶었다....

편하게 레지스트 수정하려고 내보내기를 했더니....

그냥 레지 에디터 사용하는 거로 ㅎㅎㅎㅎ

 

 

마무리

참고 : PostgreSQL: Change or Move Default Data Directory in Windows - ANVESH PATEL님

 

포스트그레스SQL을 처음 써보는 것이라 'data' 폴더가 물리적인 데이터베이스 저장 경로인 줄 알고 이렇게 한 건데.....

반만 맞습니다.

 

기본 생성되는 DB의 파일 위치는 맞습니다만

포스트그레스SQL의 DB파일의 위치는 테이블스페이스(Tablespaces)를 따라갑니다.

(참고 : [PostgreSQL] DB파일의 물리 저장 폴더 변경 faet. pgAdmin)