[PostgreSQL] 아카이브 모드 백업
- Database(데이터베이스)
- 2022. 7. 7. 21:36
개요
- PostgreSQL 에서는 아카이브 모드 백업을 하여 데이터를 복원할 수 있습니다.
postgresql.conf
파일을 이용하여 아카이브 모드 백업을 진행하는 방법을 정리 합니다.
postgresql.conf 파일 옵션 설정
postgresql.conf
파일에서 Archiving 태그를 찾고 여기서archive_mode
,archive_command
2개의 옵션을 설정해 줍니다.- archive_command : WAL 파일을 아카이브 시키는 명령어 (%p : WAL 파일의 절대 경로, %f : 저장할 로그 파일의 이름)
- archive_command = 'cp %p 아카이브 파일을 저장할 곳%f'
- archive_mode : on - WAL 파일이 archive_command 설정에 따라 아카이브를 저장하는 저장소로 전달, off 설정 - archive_mode 를 on 으로 설정하려면 wal_level 을 archive 로 설정해야 합니다.
- archive_command : WAL 파일을 아카이브 시키는 명령어 (%p : WAL 파일의 절대 경로, %f : 저장할 로그 파일의 이름)
- 저는 다음과 같이 옵션을 주었습니다.
wal_level = replica
archive_command = 'cp %p /var/lib/postgresql/data/archive/%f'
archive_mode = on
archive_timeout = 1 #minute
PostgreSQL Container 재실행
postgresql.conf
를 수정하였다면, PostgreSQL Container 를 재 시작 합니다.
아카이브 설정 확인
- 앞서 PostgreSQL Container 를 재 시작 하였습니다.
- 다음 명령어를 통해 postgres 컨테이너의 bash 로 접속합니다.
> docker exec -it postgres bash
- 접속 하였다면, psql 명령어를 통해 실제 Postgresql 데이터베이스로 접속합니다.
> psql -d postgres -h localhost -p 5432 -U mirero
- 다음으로,
show archive_mode;
,show archive_command;
명령어를 통해 앞서postgresql.conf
파일에서 설정했던 옵션이 정상적으로 설정 되었는지 확인합니다.
postgres=# show archive_mode;
archive_mode
--------------
on
(1 row)
postgres=# show archive_command;
archive_command
--------------------------------------
cp %p /var/lib/postgresql/archive/%f
(1 row)
- 확인 결과, 모두 정상적으로 옵션이 설정된 것을 확인할 수 있습니다.
백업 확인
- 정상적으로 wal 파일이 백업 되는 것을 확인할 수 있습니다.
728x90
'Database(데이터베이스)' 카테고리의 다른 글
[PostgreSQL] 아카이브 모드 백업을 이용한 특정 시점 복구 시나리오(Point In Time Recovery(PITR)) (0) | 2022.07.10 |
---|---|
[PostgreSQL] 아카이브 모드 백업을 이용한 전체 복구 시나리오 (0) | 2022.07.08 |
[PostgreSQL] PostgreSQL pg_basebackup 사용방법 (0) | 2022.07.07 |
[PostgreSQL] pgAdmin Docker 로 실행 후, Login Sessing 유지하는 방법 (0) | 2022.07.05 |
[PostgreSQL] 백업 방법 - 아카이브 모드 백업 (0) | 2022.06.26 |
이 글을 공유하기