[PostgreSQL] PostgreSQL pg_basebackup 사용방법
- Database(데이터베이스)
- 2022. 7. 7. 20:34
개요
- PostgreSQL 에서는 아카이브 모드 백업을 하여 데이터를 복원할 수 있습니다.
- 복구 하는 방법에 대해서 정리 진행합니다.
pg_basebackup 사용방법
pg_basebackup
을 사용하여 Database 의 전체 내용을 백업 할 수 있습니다.pg_basebackup
을 사용하는 방법은 다음과 같습니다.- 우선, Docker 로 실행 중인 Container 의 bash 로 접속 합니다.
> docker exec -it postgres bash
- 다음으로 계정을
postgres
로 변경 합니다.
> su - postgres
- 그리고 나서, Backup 을 받을 경로를 설정하고 pg_basebackup 을 진행하면 됩니다.
- 저 같은 경우에는
/var/lib/postgresql/data/BACKUP
디렉터리 안에 전체 내용을 백업 받도록 하였습니다.
postgres@c09cac0dcc38:~$ pg_basebackup -p 5432 -U mirero -D /var/lib/postgresql/data/BACKUP
- 백업이 완료 되었으면, BACKUP 디렉터리 안에 있는 하위 폴더를 검색합니다.
- 정상적으로 백업이 된 것을 확인할 수 있습니다.
postgres@c09cac0dcc38:~$ ls -al /var/lib/postgresql/data/BACKUP
total 276
drwx------ 1 postgres postgres 4096 Jul 5 23:56 .
drwx------ 1 postgres root 4096 Jul 5 23:55 ..
drwx------ 1 postgres postgres 4096 Jul 5 23:56 BACKUP
-rw------- 1 postgres postgres 3 Jul 5 23:56 PG_VERSION
drwxr-xr-x 1 postgres postgres 4096 Jul 5 23:55 archive
-rw------- 1 postgres postgres 227 Jul 5 23:55 backup_label
-rw------- 1 postgres postgres 220 Jul 5 23:56 backup_label.old
-rw------- 1 postgres postgres 202469 Jul 5 23:56 backup_manifest
drwx------ 1 postgres postgres 4096 Jul 5 23:56 base
drwx------ 1 postgres postgres 4096 Jul 5 23:56 global
drwx------ 1 postgres postgres 4096 Jul 5 23:56 pg_commit_ts
drwx------ 1 postgres postgres 4096 Jul 5 23:56 pg_dynshmem
-rw------- 1 postgres postgres 4821 Jul 5 23:56 pg_hba.conf
-rw------- 1 postgres postgres 1636 Jul 5 23:56 pg_ident.conf
drwx------ 1 postgres postgres 4096 Jul 5 23:56 pg_logical
drwx------ 1 postgres postgres 4096 Jul 5 23:56 pg_multixact
drwx------ 1 postgres postgres 4096 Jul 5 23:56 pg_notify
drwx------ 1 postgres postgres 4096 Jul 5 23:56 pg_replslot
drwx------ 1 postgres postgres 4096 Jul 5 23:56 pg_serial
drwx------ 1 postgres postgres 4096 Jul 5 23:56 pg_snapshots
drwx------ 1 postgres postgres 4096 Jul 5 23:56 pg_stat
drwx------ 1 postgres postgres 4096 Jul 5 23:56 pg_stat_tmp
drwx------ 1 postgres postgres 4096 Jul 5 23:56 pg_subtrans
drwx------ 1 postgres postgres 4096 Jul 5 23:56 pg_tblspc
drwx------ 1 postgres postgres 4096 Jul 5 23:56 pg_twophase
drwx------ 1 postgres postgres 4096 Jul 5 23:55 pg_wal
drwx------ 1 postgres postgres 4096 Jul 5 23:56 pg_xact
-rw------- 1 postgres postgres 88 Jul 5 23:56 postgresql.auto.conf
-rwxrwxrwx 1 postgres postgres 28872 Jul 5 23:56 postgresql.conf
-rwxrwxrwx 1 postgres postgres 28871 Jul 5 23:56 postgresql.conf.bak
- 결과 파일인 baseup_label 을 보면 WAL 파일은 51 번째 까지 적용되었다고 나와있습니다.
- 이 말은, 51번째 이후는 보관을 해야 한다는 뜻입니다.
postgres@c09cac0dcc38:~/data/BACKUP$ cat backup_label
START WAL LOCATION: 0/51000028 (file 000000010000000000000051)
CHECKPOINT LOCATION: 0/51000060
BACKUP METHOD: streamed
BACKUP FROM: primary
START TIME: 2022-07-05 23:55:28 UTC
LABEL: pg_basebackup base backup
START TIMELINE: 1
- pg_wal 경로에 가면 어떤 WAL 파일부터 보관해야 하는지 시점이 저장됩니다.
000000010000000000000051.00000028.backup
이와 같이 backup 파일이 생긴 것을 확인할 수 있습니다.
postgres@c09cac0dcc38:~/data/pg_wal$ ls -al
total 114688
drwx------ 1 postgres postgres 4096 Jul 6 00:00 .
drwx------ 1 postgres root 4096 Jul 5 23:55 ..
-rw------- 1 postgres postgres 341 Jul 5 23:56 000000010000000000000051.00000028.backup
-rw------- 1 postgres postgres 16777216 Jul 6 00:00 000000010000000000000053
-rw------- 1 postgres postgres 16777216 Jul 6 00:00 000000010000000000000054
-rw------- 1 postgres postgres 16777216 Jul 5 23:53 000000010000000000000055
-rw------- 1 postgres postgres 16777216 Jul 5 23:54 000000010000000000000056
-rw------- 1 postgres postgres 16777216 Jul 5 23:55 000000010000000000000057
-rw------- 1 postgres postgres 16777216 Jul 5 23:55 000000010000000000000058
-rw------- 1 postgres postgres 16777216 Jul 5 23:56 000000010000000000000059
drwx------ 1 postgres postgres 4096 Jul 6 00:00 archive_status
728x90
'Database(데이터베이스)' 카테고리의 다른 글
[PostgreSQL] 아카이브 모드 백업을 이용한 전체 복구 시나리오 (0) | 2022.07.08 |
---|---|
[PostgreSQL] 아카이브 모드 백업 (0) | 2022.07.07 |
[PostgreSQL] pgAdmin Docker 로 실행 후, Login Sessing 유지하는 방법 (0) | 2022.07.05 |
[PostgreSQL] 백업 방법 - 아카이브 모드 백업 (0) | 2022.06.26 |
[PostgreSQL] 백업 방법 - 파일 시스템 백업 방법 (0) | 2022.06.26 |
이 글을 공유하기