전체 글165 pg_basebackup을 이용한 완전 복구 *** pg_basebackup을 이용한 완전 복구 (전체 백업) 1. 데이터베이스 클러스터 내의 모든 파일을 삭제한다. 2. 백업본을 원래 위치로 복사한다. 3. 심볼릭 링크를 생성한다. 4. recovery_signal 파일을 생성한다. 5. restore_command 파라미터를 설정한다. 6. 인스턴스를 시작한다. --> pg_basebackup 테스트를 위해 재설정, 재가동 vi /data/svc01/postgresql.conf ------------------------------------------------------------------------------------------------------------------ archive_command = 'dd if=%p of.. 2026. 4. 21. pgBaseRest를 이용한 완전 복구 *** pgBaseRest를 이용한 완전 복구 --> 전체 복원 방식은 $PGDATA 볼륨 전체가 손상된 경우에 사용하며, 다음과 같은 단계로 진행한다. 1. pgbackrest restore 명령어를 실행한다. 2. WAL 파일 저장 디렉토리에 대한 심볼릭 링크를 생성한다. 3. 인스턴스를 시작한다. --> pgBaseRest 테스트를 위해 재설정, 재가동 vi /data/svc01/postgresql.conf ------------------------------------------------------------------------------------------------------------------ archive_command = 'pgbackrest --stanza=svcdb ar.. 2026. 4. 20. 백업 예제 *** pgBackRest를 이용한 백업 pgbackrest --stanza=svcdb --type=full backup --config=/dbbackup/pgbackrest.conf pgbackrest --stanza=svcdb --type=diff backup --config=/dbbackup/pgbackrest.conf pgbackrest --stanza=svcdb --type=incr backup --config=/dbbackup/pgbackrest.conf [postgres@DESKTOP-3GJIDFU dbbackup]$ ll backup/svcdb/ total 24 drwxr-x--- 4 postgres postgres 4096 Apr 15 10:22 20260415-102240F drwxr-.. 2026. 4. 15. pgBackRest 설치 및 환경 설정 * 설치 sudo dnf install epel-release sudo dnf install pgbackrest * pgBackRest 환경 설정 1. 백업 볼륨을 생성한다. 2. 백업 볼륨 내에 필요한 디렉토리를 생성한다. 3. pgBackRest 환경 파일을 설정한다. 4. 스탠자(Stanza)를 생성한다. 5. 데이터베이스를 아카이브 모드로 전환한다. 1. 백업 볼륨을 생성한다. (rocky user) sudo mkdir /dbbackup sudo chown postgres:postgres /dbbackup 2. 백업 볼륨 내에 필요한 디렉토리를 생성한다. cd /dbbackup/ mkdir log mkdir spool 3. pgBackRest 환경 파일을 설정한다. (rocky user).. 2026. 4. 14. 파라미터 관리 ** PostgreSQL은 다음과 같은 다양한 레벨에서 파라미터를 설정할 수 있다. - 인스턴스 레벨 - 데이터베이스 레벨 - 유저 레벨 - 세션 레벨 --> 파라미터의 적용 순서 : 세션 레벨 -> 유저 레벨 -> 데이터베이스 레벨 -> 인스턴스 레벨 --> 설정 내용 확인 svcdb=# \dconfig work_mem; List of configuration parameters Parameter | Value -----------+------- work_mem | 4MB svcdb=# select name, setting, unit, source from pg_settings where name = 'work_mem'; name | setting | unit | source --.. 2026. 4. 7. TOAST 테이블 관리 예제 ** TOAST 기법 : PostgreSQL에서 길이가 긴 레코드를 저장할 때에는 TOAST(The Oversized-Attribute Storage Technique) 기법을 사용한다. ** TOAST 동작 방식 - 하나의 레코드 길이가 2KB를 초과하면 컬럼 단위로 압축을 수행한다. - 압축 이후에도 2KB를 초과하는 경우에는 가장 길이가 긴 컬럼 순으로 테이블 외부(out-of-line) 스토리지에 저장한다. -- 컬럼 압축 여부 확인 방법 set role svc; drop table t1; create table t1(c1 varchar(3000)); insert into t1 values (lpad('A', 1000, 'A')); insert into t1 values (lpad('B', .. 2026. 4. 3. 이전 1 2 3 4 ··· 28 다음