관리

PgAdmin 3 DB Backup & Restore

Last edited 207 days ago by 김준성

WINDOWS

Windows Server 2012, Postgres 9.2.14기준

1. GUI

1.1 Backup(백업)

pgAdmin III을 실행합니다.
백업할 DB를 선택하고 커서를 가져가 우클릭합니다. 옵션에서 ‘백업(backup)’을 선택합니다.
image.png
백업 설정창에서 다음과 같이 각 항목에 대해 설정 및 값을 입력합니다.
파일옵션
파일 이름(File name): 백업 파일 PATH 및 이름 지정
예: C:\backup\backuptest-3.backup
포맷(Format): Custom
Rolename: DB의 user를 선택합니다.
image.png
덤프옵션 #1
Sections(모두 체크)
Pre-data
Data
Post-data
개체 형식
Blobs(언체크)
저장안함
오너(가능할때만)
권한
image.png
덤프 옵션 #2
쿼리
CREATE DATABASE 문 포함(가능할때만)
열 삽입 사용
비활성화(전체 언체크)
기타
자세한 메시지
image.png
모든 설정을 완료하면 창 아래의 ‘백업’을 클릭
image.png
모든 백업이 완료 되고 메세지 탭에서 프로세스 종료 메세지를 받으면 창 하단의 완료를 클릭
image.png

1.2 Restore(복원)

PgAdmin에서 복원할 프로젝트를 선택하고 우클릭합니다. 메뉴에서 복원(Restore)를 클릭합니다.
image.png
다음과 같이 복구 설정 및 값을 입력합니다.
파일옵션
포맷(Format): Custom or tar
파일이름(Filename): 우측 경로 찾기 버튼을 클릭하여 복원하려는 백업파일 클릭
Rolename: 백업때와 같은 유저이름을 선택합니다.
image.png
image.png
복원옵션 #1
Section
Pre-data
Data
Post-data
저장 안 함
권한
image.png
복원옵션#2
기타동작
자세한 메시지
image.png
모든 설정을 입력하면 창 아래의 ‘복원’을 클릭
메세지 창에서 프로세스 종료 코드0을 반환했다는 메시지를 확인하면 창 아래의 ‘완료’를 클릭
image.png

2. CLI

2.1 사전준비

2.1.1 psql 윈도우 환경 등록
실행창(Windows + R)을 실행.
입력창에 ‘sysdm.cpl’을 입력하고 확인 클릭.
image.png
‘시스템 속성’창에서 ‘고급’ 탭의 ‘환경변수’ 클릭
image.png
‘환경변수’창의 ‘시스템변수’섹션에서 변수 ‘path’를 찾아 클릭하고 ‘시스템변수’ 섹션 안에 있는 ‘편집’을 클릭
image.png
‘시스템 변수 편집’창에서 ‘변수 값’ 입력 상자에 다음과 같이 입력합니다. 단, 입력되는 경로를 파인더에서 입력 및 실행하여 psql.exe 실행파일이 있는 경로가 맞는지 확인.
image.png
image.png
입력을 완료가 되면 ‘확인’을 누른 후 앞서 실행한 창들을 닫음
‘실행(Windows + R)’을 실행하고 입력창에 ‘cmd’를 입력하고 ‘확인’ 클릭
image.png
프롬프트에 다음과 같이 입력하여 psql의 버젼을 확인합니다.
image.png

2.2 BACKUP(백업)

2.2.1 백업폴더생성
파인더창(Window + e )을 실행하고 ‘내PC > 로컬디스크(C:)’로 이동
image.png
새폴더만들기(Ctrl + Shift + n)를 실행하고 폴더의 이름을 지정.(e.g. backup)
image.png
2.2.2 DB백업
PgAdmin을 실행하여 백업을 하려는 DB의 이름을 확인.
image.png
실행창(Windows + R)을 열고 입력창에 ‘cmd’ 입력 및 실행.
image.png
cmd 프롬프트에서 다음 명령어를 입력하여 백업을 실행합니다.
구문설명
pg_dump.exe: PostgreSQL 데이터베이스를 백업하는 명령어입니다.
--file "C:\\backup\\0110jeantest-10.backup": 백업 파일의 경로와 이름을 지정합니다. 이 경우, 백업 파일은 C:\\backup 폴더에 0110jeantest-10.backup 이름으로 저장됩니다.
--username "postgres": 데이터베이스에 접근하는 사용자 이름을 지정합니다. 이 경우, "postgres" 사용자로 접근합니다.
--password: 데이터베이스에 접속할 때 비밀번호를 입력하도록 요청합니다. 여기서는 postgres의 비밀번호를 입력해야 합니다.
--verbose: 상세한 출력을 표시합니다. 실행 중인 작업에 대한 정보를 자세히 보여줍니다.
--format=c: 백업 파일의 형식을 지정합니다. 이 경우, "custom" 형식으로 백업합니다.
--encoding "UTF8": 백업 파일의 인코딩을 UTF-8로 지정합니다.
"alpha_smart_spk": 백업할 대상 데이터베이스의 이름을 지정합니다. 이 경우, "alpha_smart_spk"라는 이름의 데이터베이스를 백업합니다.
image.png
엔터를 누른후 프로름프트에 password입력창이 나오면 postgres의 비밀번호를 입력합니다.(e.g. qwe123!@#)
image.png
실행 메세지들이 나타나고 완료되면 다시 프롬프트로 돌아오는 것을 확인.
image.png
백업 경로로 설정한 ‘내PC\로컬디스크(C:)\backup’에 백업 파일이 생성 되었는지 확인합니다.
image.png
백업된 파일은 복원을 위해 다른 폴더로 이동합니다.

2.3 RESTORE(복원)

실행창(Windows + R)을 열고 입력창에 ‘cmd’ 입력 및 실행.
image.png
cmd 프롬프트창에 다음과 같이 복원 명령어를 입력합니다.
image.png
실행후 password에서 postgres의 비밀번호를입력합니다.
image.png
실행 메세지를 확인합니다. 에러 없이 모든 프로세스가 마쳤음을 확인합니다.
image.png

LINUX

Rocky 8.8, Postgres 15

3. CLI

3.1 BACKUP(백업)

‘postgres’ user변경
root → postgres 순으로 user변경
image.png
backup할 데이터를 검색
image.png
Target DB를 다음과 같은 이름으로 backup 실
image.png
백업으로 생성한 파일확인 및 파일의 위치 알아내기
image.png
root 계정으로 돌아와서 /var/lib/pgsql db 백업 파일을 /home/alpha/backup/db_backup로 이동 시킨다.
image.png
/home/alpha/backup/db_backup 에서 이동한 파일 확인
image.png

3.2 RESTORE(복원)

복원할 파일을 임의의 폴더에 저장합니다.
terminal에서 root로 로그인합니다.
postgres로 로그인 합니다.
psql의 버젼을 확인합니다.
image.png
복원하려는 파일확장자명에 맞게 다음과 같이 명령어를 사용하여 입력합니다.
image.png
에러가 없이 작업이 완료 된 것을 확인합니다.
image.png

TROUBLE SHOOTING

사업장의 이름이 맞지 않는 경우일수 있다.
terminal에서 root 또는 alpha계정으로 로그인 하여 /home/alpha/web/smart_spk/webapps/ROOT/setup/cert/로 진입하여 저장된 파일을 검색
image.png
ll로 검색했을때 나오는 사업장명 체크
image.png
웹서버(e.g. )에 접속하여 ‘서버설정 > 인증설정’의 인증 라이센스 사업장에 적힌 사업장 명과 터미널에서 확인한 사업장 명이 같은지 확인.
image.png
터미널에서 확인된 인증서 이름에 있는 사업장 명을 웹의 ‘인증 라이센스’에도 똑같이 입력.
image.png
설정을 저장하고 다시 로그인 시도.
image.png


Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.