본문 바로가기

dev/데이터베이스

Windows PostgreSQL 설치 및 백업

회사에서 기존에 운영하던 윈도우 운영 서버를 클라우드 윈도우 서버로 이관하는 작업을 하게 됐습니다.

 

DB도 옮겨야 하는 대상 중에 하나여서 dump 파일로 만들어서 옮기려고 했는데

 

같은 윈도우인 경우 PostgreSQL의 데이터 경로만 복사해서 옮겨주면 쉽게 할 수 있다고 해서

(리눅스는 해당 안된다고 하네요ㅠ)

 

이번에 이 방법을 사용했습니다.

 

먼저 클라우드 서버에 PostgreSQL을 설치해야 합니다.

 

PostgreSQL 설치 화면

 

PostgreSQL 설치 경로

 

PostgreSQL의 디폴트 설치 경로가 아닌 다른 경로로 설정합니다.

 

컴포넌트 설정 화면

 

저는 pgAdmin4를 자주 사용하지 않아서 제외했습니다.

 

PostgreSQL 데이터 경로

 

PostgreSQL의 디폴트 데이터 경로가 아닌 다른 데이터 경로로 설정합니다.

 

여기서 데이터 경로는 실제 데이터가 저장되는 경로입니다.

 

 

postgres(PostgreSQL의 루트 계정)의 패스워드 설정합니다.

 

시간대 설정

 

 

설치하기 전 지금까지 설정한 정보 요약한 화면이고 Next 버튼 클릭합니다.

 

PostgreSQL 설치 화면

 

 

PostgreSQL 설치가 완료되고 추가 기능 설치를 물어보는 화면인데, 저는 추가 기능 설치하지 않았습니다.

 

윈도우 서비스 화면

 

기존 데이터를 복사하기 위해 PostgreSQL을 잠시 멈춥니다.

 

 

기존 데이터 파일을 방금 전에 설정한 PostgreSQL의 데이터 경로로 복사합니다.

 

윈도우 서비스 화면

 

PostgreSQL을 다시 시작합니다.

 

DBeaver 접속 화면

 

PostgreSQL에 접속하기 위해 DBeaver에서 커넥션을 추가합니다.

 

접속 에러 메시지 화면

 

혹시 위와 같은 화면이 표출된다면 PostgreSQL을 설치할 때 입력한 비밀번호가

 

기존의 postgres의 비밀번호가 다르기 때문에 발생한 것이므로 postgres 비밀번호를 다시 설정해야 합니다.

 

비밀번호를 변경하려면 PostgreSQL에 비밀번호 입력 없이 접속해야 하기 위해 몇 가지 작업이 필요합니다.

 

윈도우 서비스 화면

 

먼저 PostgreSQL을 정지시켜야 합니다.

 

pg_hba 파일

 

그리고 비밀번호 없이 접속하기 위해 pg_hba 파일을 열어 md5을 접속 방식을 trust로 변경합니다.

 

md5와 trust에 대한 내용은 아래에서 확인하시기 바랍니다.

https://www.postgresdba.com/bbs/board.php?bo_table=B12&wr_id=36

 

윈도우 서비스 화면

 

그리고 다시 PostgreSQL을 실행시킵니다.

 

PostgreSQL 연결 종료

 

PostgreSQL 재연결

 

DBeaver에서 PostgreSQL 접속을 다시 합니다.

 

postgres 비밀번호 수정

 

postgres 계정의 비밀번호를 수정합니다.

(ALTER USER postgres WITH PASSWORD 'test1234';)

 

윈도우 서비스 화면

 

pg_hba 화면

 

그리고 현재 PostgreSQL의 접속 방식이 trust이기 때문에 PostgreSQL을 정지시키고

 

다시 md5로 변경합니다.

 

윈도우 서비스 화면

PostgreSQL을 다시 시작합니다.

 

지금까지 작성한 내용을 보면 양이 많아서 보시기 힘들 수 있는데

(postgres 비밀번호 재설정 때문에 윈도우 서비스 여러 번 내리는 과정 때문에...)

 

하나하나 천천히 하시면 무난히 끝낼 수 있습니다.

(참고로 블로그 포스팅하려고 저 설치 과정 3번이나 했어요!!!)

'dev > 데이터베이스' 카테고리의 다른 글

Postgresql 테이블 복원  (2) 2020.01.16
Windows postgis 설치  (0) 2019.12.10
pg_dump 사용법  (0) 2019.09.02
upsert 쿼리 예제  (0) 2019.06.19
PostgreSQL 백업 쿼리 생성  (0) 2019.06.18