주:
- 이 사용지침서에서는 Oracle Cloud에 액세스해야 합니다. 무료 계정에 등록하려면 Oracle Cloud Infrastructure Free Tier 시작하기를 참조하십시오.
- Oracle Cloud Infrastructure 인증서, 테넌시 및 구획에 예제 값을 사용합니다. 실습을 완료할 때 이러한 값을 클라우드 환경과 관련된 값으로 대체하십시오.
물리적 대기 복제를 사용하여 VM에서 PostgreSQL 데이터베이스에 대해 리전 간 재해 복구 구현
소개
pg_basebackup
는 실행 중인 PostgreSQL 데이터베이스 클러스터의 전체 백업을 수행하기 위해 PostgreSQL에서 제공하는 명령행 유틸리티입니다. 복제 또는 복구 목적으로 사용할 수 있는 데이터베이스 클러스터의 이진 복사본을 생성하도록 설계되었습니다.
pg_basebackup
는 실행 중인 PostgreSQL 데이터베이스 클러스터의 전체 백업을 수행하기 위해 PostgreSQL에서 제공하는 명령행 유틸리티입니다. 복제 또는 복구 목적으로 사용할 수 있는 데이터베이스 클러스터의 이진 복사본을 생성하도록 설계되었습니다.
pg_basebackup
유틸리티의 주요 장점 중 하나는 데이터베이스가 상주하는 파일 시스템에 액세스할 필요 없이 작동한다는 것입니다. 대신 스트리밍 복제 프로토콜을 사용하여 PostgreSQL 서버에 연결하여 서버가 실행되는 동안에도 안전하고 편리하게 사용할 수 있습니다.
일반적으로 WAL(미리 쓰기 로깅) 아카이빙과 함께 사용되는 pg_basebackup
유틸리티는 스트리밍 복제를 설정하고 VM(가상 머신)에서 실행되는 PostgreSQL 환경에 대해 고가용성 및 재해 복구를 보장하는 데 중요한 역할을 합니다.
주요 특징:
-
대기 서버를 설정하는 데 사용하기 쉽습니다.
-
성능 향상을 위해 병렬 백업을 지원합니다.
-
백업 압축을 허용합니다.
-
시점 복구를 위한 WAL 파일을 포함할 수 있습니다.
이 사용지침서에서는 컴퓨트 VM에 호스트된 두 PostgreSQL 데이터베이스 간에 리전 간 스트리밍 복제를 설정하는 작업에 대해 설명합니다.
목표
- DR 영역의 물리적 대기 데이터베이스를 사용하여 VM에서 PostgreSQL 데이터베이스의 영역 간 재해 복구(DR)를 설정합니다.
필요 조건
리전 전반에 걸쳐 VCN 피어링을 생성합니다. 여러 리전의 컴퓨트 VM에 접속하려면 VCN 피어링을 설정해야 합니다. 자세한 내용은 다음을 참조하십시오.
-
Implement VCN peering: Peering OCI VCNs in Different Regions Using Dynamic Routing Gateway.
-
DRG(동적 경로 지정 게이트웨이) 관리: 동적 경로 지정 게이트웨이.
다른 지역의 데이터베이스 간에 원활한 연결을 설정하도록 VCN 피어링이 올바르게 구성되었는지 확인합니다.
작업 1: 기본 PostgreSQL 데이터베이스 설정
-
primary PostgreSQL 데이터베이스에
replicator
라는 유저를 생성합니다.CREATE USER replicator WITH REPLICATION ENCRYPTED PASSWORD '*********';
-
역할/사용자를 검증합니다.
postgres=# \du List of roles Role name | Attributes | Member of ----------------+------------------------------------------------------------+----------- admin | Superuser | {} guest | | {} mytestdb | | {} postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {} replicator | Replication
-
다음 세부 정보로
postgresql.conf
파일을 업데이트합니다.listen_addresses = '*'
-
pg_hba.conf
파일을 업데이트합니다. 대기 데이터베이스 IP 주소를 사용합니다.host replication replicator Standby_DB_IP/32 md5
-
PostgreSQL 서비스를 다시 시작합니다.
sudo systemctl restart PostgreSQL
작업 2: Standby PostgreSQL 데이터베이스 설정
-
PostgreSQL 서비스를 중지합니다.
sudo systemctl stop PostgreSQL
-
기존 바이너리를 제거합니다.
cp -R /var/lib/postgresql/13/main /var/lib/postgresql/13/main_old rm -rf /var/lib/postgresql/13/main
-
pg_basebackup
명령을 실행하여 스트리밍 복제를 설정합니다.pg_basebackup -h PrimaryDB_IP -D /var/lib/postgresql/13/main -U replicator -P -v -R -X stream -C -S slaveslot1
-
PostgreSQL 서비스를 시작합니다.
sudo systemctl start PostgreSQL
작업 3: 기본 PostgreSQL 데이터베이스에서 스트리밍 복제 확인
기본 PostgreSQL 데이터베이스에서 다음 명령을 실행하여 기본 데이터베이스와 DR 데이터베이스 간의 동기화 상태를 수집합니다.
SELECT * FROM pg_replication_slots;
SELECT * FROM pg_stat_replication;
승인
- 작성자 - Snehaa Patnaik(리프트 구현 전문가 - 데이터베이스)
추가 학습 자원
docs.oracle.com/learn에서 다른 랩을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer가 되십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Implement Cross Region Disaster Recovery for PostgreSQL Databases on VM Using Physical Standby Replication
G35551-01
Copyright ©2025, Oracle and/or its affiliates.