Postgresql/백업 및 복구 10

drop 시점을 모르는 상태에서의 특정 테이블 복구

상황 요약상황: 초기 데이터 적재 후 풀 백업 완료 → 작업자 실수로 테이블 DROP → DROP 시각 모름 → 무중단 복구 필요.목표: DB 정지 없이 DROP 직전 시점으로 테이블 복구.제약: sequence 복구도 따로 필요함초기 데이터 적재CREATE TABLE test_table ( id SERIAL PRIMARY KEY, name TEXT);INSERT INTO test_table (name) VALUES ('Alice'), ('Bob'), ('Charlie');SELECT * FROM test_table;full backup 완료 ( 테이블 별로 backup )pg_dump -Fc -f full_backup.dump -d mydbseqeunce 백업 확인postgres@lkmpg:..

pgbackrest를 사용한 PostgreSQL 15 백업 및 복구 Incrementalbackup

증분백업 테스트이번엔 full + diff 를 가지고 증분 백업을 진행한다.데이터 추가증분 데이터 확인 postgres@lkmpg:~$ sudo -u postgres psql -d testdb -c "INSERT INTO test_table (data) VALUES ('Incremental Backup Test');"INSERT 0 1증분백업postgres@lkmpg:~$ sudo -u postgres pgbackrest --stanza=demo --type=incr backup2025-03-15 13:00:22.819 P00 INFO: backup command begin 2.54.2: --exec-id=1581-421f3c55 --log-level-console=info --pg1-path=/va..

pgbackrest를 사용한 PostgreSQL 15 백업 및 복구 Differentialbackup

차등백업 테스트차등백업을 위해서 데이터 insertpostgres@lkmpg:~$ sudo -u postgres psql -d testdb -c "INSERT INTO test_table (data) VALUES ('Differential Backup Test');"INSERT 0 1 차등백업 수행postgres@lkmpg:~$ sudo -u postgres pgbackrest --stanza=demo --type=diff backup2025-03-15 12:54:08.439 P00 INFO: backup command begin 2.54.2: --exec-id=1469-c095f788 --log-level-console=info --pg1-path=/var/lib/postgresql/15/main ..

pgbackrest를 사용한 PostgreSQL 15 백업 및 복구 fullbackup

pgbackrest 설치 설정은 다른게시글 참조백업 확인현재는 backup 본이 없는 상태postgres@lkmpg:/var/lib/pgbackrest/archive/demo$ sudo -u postgres pgbackrest info stanza: demo status: error (no valid backups) cipher: none db (current) wal archive min/max (15): 000000050000000000000010/000000050000000000000011테스트를 위해 데이터 생성postgres@lkmpg:/var/lib/pgbackrest/archive/demo$ sudo -u postgres psql -c "CREATE DATABASE testdb;"sudo -..

WAL-G를 사용한 PostgreSQL 15 백업 및 복구 테스트 시나리오2

아래 타임라인으로 PITR 시나리오 시간 축 (2025-03-10 기준)--------------------------------------------------------->T0 T1 T2 T3 T4 T5 T6[상태]T0: 초기 데이터 (Alice, Bob) └─── 백업 1 (base_000000010000000000000001)T1: 트랜잭션 1 (Charlie 추가, Alice 삭제 → Bob, Charlie)T2: 첫 번째 복구 (T0 시점으로 복구 → Alice, Bob)T3: 트랜잭션 2 (David 추가, Bob → Bobby → Alice, Bobby, David) └─── 백업 2 (base_00000001000..

postgresql 백업 툴 종류

1. pgBackRest설명: PostgreSQL 전용 오픈소스 백업 및 복구 도구로, 병렬 백업, 압축, 암호화, 증분 백업을 지원합니다.주요 특징:풀(Full), 증분(Incremental), 차등(Differential) 백업 지원.WAL 아카이빙 및 Point-in-Time Recovery (PITR) 가능.로컬 파일 시스템, S3, SFTP 등 다양한 스토리지 백엔드 지원.병렬 처리를 통해 대규모 데이터베이스 백업 속도 향상.장점:설정이 직관적이고 문서화가 잘 되어 있음.WAL-G보다 더 다양한 백업 전략(증분/차등) 제공.성능 최적화에 강력.단점:WAL-G보다 설정이 약간 더 복잡할 수 있음2. Barman (Backup and Recovery Manager)설명: 2ndQuadrant에서 개..

WAL-G를 사용한 PostgreSQL 15 백업 및 복구 테스트 시나리오

WAL-G를 사용한 PostgreSQL 15 백업 및 복구 테스트 시나리오-WAL-G는 증분 백업을 지원해 저장 공간을 절약하고 빠른 백업을 제공-병렬 복구 (Parallel Restore)-PITR사전 준비OS: Ubuntu 22.04PostgreSQL 버전: 15WAL-G: 최신 버전 (예: v3.0.0 이상 권장)로컬 디렉토리: 백업 및 WAL 파일 저장용 (예: /backups)WAL-G 설치아래 url에 맞는 OS 버전 및 DB 버전에 다운로드https://github.com/wal-g/wal-g/releasesroot@lkmpg:/usr/local/bin# wget https://github.com/wal-g/wal-g/releases/latest/download/wal-g-pg-ubuntu-..

wal-g 에 대해

WAL-G: PostgreSQL 백업을 위한 오픈소스 도구WAL-G는 PostgreSQL 데이터베이스의 백업과 복구를 효율적으로 처리하기 위한 오픈소스 도구입니다. 기존 WAL-E의 후속 버전으로 개발되었으며, 더욱 강력한 기능과 성능 최적화를 제공합니다. 이번 포스팅에서는 WAL-G의 주요 특징과 장점을 간략히 정리해보겠습니다.주요 기능물리적 백업과 원격 스토리지 연동WAL-G는 데이터베이스의 전체 백업과 증분 백업을 지원하며, 백업 데이터를 로컬 파일시스템에 저장하지 않고 바로 Amazon S3, Google Cloud Storage(GCS) 같은 원격 스토리지로 전송합니다. 이를 통해 디스크 공간을 절약하고 클라우드 환경에서의 활용성을 높였습니다.압축과 암호화LZ4, ZSTD와 같은 고성능 압축 알..