RDBMS17 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. 테이블스페이스 관리 예제 *** PostgreSQL 테이블스페이스 PostgreSQL은 대부분의 경우 별도의 사용자 테이블스페이스를 생성하지 않는다. 왜냐하면, 테이블스페이스 단위로 수행할 수 있는 작업이 거의 없고, (Oracle과 달리) 사용자 테이블스페이스를 생성하면 백업, 복구 및 버전 업그레이드 작업 시에 작업 복잡도가 증가하는 문제가 있기 때문이다. -- 사용자 테이블스페이스 생성 예제 (운영 정책상 테이블스페이스를 구분해야 한다면...) create tablespace svc_dat location '/svc_dat'; create tablespace svc_idx location '/svc_idx'; svcdb=# \db List of tablespaces Name | Owner | .. 2026. 4. 1. 이전 1 2 3 다음