전체 글 96

pg DB 이중화 관리 repmgr 구축

목차repmgr 설치passwordless 설정postgresql 설정 변경 repmgr 계정생성repmgr 설정 변경repmgr primary 등록repmgr standby 등록 (primary clone)동기화 확인 1. 양쪽노드 간 repmgr 설치sudo apt install postgresql-15-repmgrpostgres@lkmpg:~$ sudo apt install postgresql-15-repmgrReading package lists... DoneBuilding dependency tree... DoneReading state information... DoneThe following additional packages will be installed: repmgr-commonThe..

pg DB 이중화 구성 (streaming replication) - primary crash

Primary DB 장애발생- Stand by > Primary DB로 전환 fail over 해야함  Standby DB Promote 1. (standby) 기존 standby 장비를 promote 승격하여 master로 승격- server promoted 되면 정상/usr/lib/postgresql/15/bin/pg_ctl -D /var/lib/postgresql/15/main/ "-o -c config_file=/etc/postgresql/15/main/postgresql.conf" promotepostgres@lkmpg:~$ /usr/lib/postgresql/15/bin/pg_ctl -D /var/lib/postgresql/15/main/ "-o -c config_file=/etc/postgr..

pg DB 이중화 구성 (streaming replication)

Streaming 이중화 방식 구성Streaming Replication은 Primary(주 서버)가 생성한 WAL(Write-Ahead Log) 파일을 Standby(대기 서버)에 실시간으로 전송하고, Standby는 이를 받아서 복제본을 지속적으로 재생합니다. 1. Primary는 데이터 변경을 WAL로 기록 2. Standby는 Primary에 연결해 WAL을 스트리밍 방식으로 수신 3. 수신한 WAL을 디스크에 저장하고, 재생(Replay)하여 데이터 일관성 유지 이중화 구성도 (async)아카이브 위치 : /backups환경파일 : /etc/postgresql/15/main/postgresql.conf데이터 디렉토리 위치 : /var/lib/postgresql/15/mainreplication ..

Postgresql/설치 2025.04.01

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 -..

postgresql에서 외부 데이터 조회하는 방법

목적 : postgresql에서 oracle 또는 mysql 데이터를 조회한다. 방안 : oracle_fdw, mysql_fdw 활용주요 기능데이터 조회 및 수정SQL 쿼리의 통합 실행데이터 통합설치방법oracle_fdwgit clone https://github.com/laurenz/oracle_fdw.gitcd oracle_fdwmakesudo make installCREATE EXTENSION oracle_fdw;CREATE SERVER oracle_serverFOREIGN DATA WRAPPER oracle_fdwOPTIONS (dbserver '//oracle_host:1521/service_name');CREATE USER MAPPING FOR postgresSERVER oracle_serve..

Postgresql/admin 2025.03.13