database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 10511 게시물 읽기
No. 10511
PostgreSQL15에서의 DB 백업 문제...
작성자
이창규(muvnmuv)
작성일
2025-02-04 11:21
조회수
201

안녕하세요,

운영 중인 고객사 DB의 대개체(업그레이드) 후 발생한 문제에 대해 선배님들의 고견을 여쭙숩니다..


DB 자체 개선으로 인한, 백업 방식의 개선이 필요한 상황인데 어떤 좋은 방법이 있을까요? ㅠㅠ (netbackup 솔루션은 사용하고 싶습니다.)


1. 기존 환경

- DB : PostgreSQL 12

- 백업 솔루션 : netbackup

- 백업 방식 : 선행 함수 수행(pg_start_backup) -> 백업 솔루션 동작(F/S 카피) -> 후행 함수 수행(pg_stop_backup)


2. 신규 환경

- DB : PostgreSQL 15.6

- 백업 솔루션 : netbackup

- 백업 방식 : 문제 발생!


3. 문제 발생의 원인

- PostgreSQL 15버전에서, 개선의 일환으로 Exclusive Backup Mode가 제거 되었습니다.

* 릴리즈노트

Remove long-deprecated exclusive backup mode (David Steele, Nathan Bossart) §

If the database server stops abruptly while in this mode, the server could fail to start. The non-exclusive backup mode is considered superior for all purposes. Functions pg_start_backup()/pg_stop_backup() have been renamed to pg_backup_start()/pg_backup_stop(), and the functions pg_backup_start_time() and pg_is_in_backup() have been removed.

* 참고 정보

https://www.enterprisedb.com/blog/exclusive-backup-mode-finally-removed-postgres-15


4. 문제 현상

- 위 근거로, 개선된 백업 함수인 pg_backup_start/pg_backup_stop은 동일 트랜잭션에서만 수행이 가능하여 기존 백업 방식은 사용이 불가합니다.

- w/a로 파이썬 스크립트 작성을 통한 트랜잭션 유지(listen 활용)를 꾀하였으나 아래 에러와 함께 충돌이 발생합니다..

ERROR: could not access status of transaction 2001858181

DETAIL: Coud not open file "pg_xact/0775": No such file or directory.

STATEMENT: select pg_backup_start('backup'); listen start_backup;

WARNING: aborting backup due to backend exiting before pg_backup_stop was called

 

이 글에 대한 댓글이 총 2건 있습니다.

15버전부터 pg_start|stop_backup() 함수가 사라진 문제입니다. 

(내부적으로 많은 이야기가 있는데 생략하고)


아래 확장 모듈이 필요합니다. 

https://github.com/MasaoFujii/pg_exclusive_backup


세상은 늘 그렇듯이, 

확 진보적인 것들과 절대로 바뀌지 않을 거야라고 외치는 것들과 

그 중간에서 늘 왔다 갔다만 하는 것 같습니다. 

그래서, 공자 어르신이 아직도 의미가 있는가봅니다.

김상기(ioseph)님이 2025-02-04 22:41에 작성한 댓글입니다.

우와 이런 방법으로 회피할 수 있는지는 생각도 못 하였네요 ㅠㅠ 

너무 감사드립니다!


다른 많은 저와 같은(획기적인 변화보다 안정을 선호하는 소심한?)유저분들께서도,

관련 함수의 변경으로 혼란을 겪으셨을텐데, 항상 선배님들께 많은걸 배우는 것 같습니다!

앗쎄이DBA입니다(muvnmuv)님이 2025-02-05 09:23에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
10517WAL 공부중인데 이게 정상인 상황인지 궁금합니다 [1]
박선웅
2025-02-26
125
10513link 오류 [2]
한만호
2025-02-12
132
10512archive_mode에서 on과 always의 차이가 무엇일까요? [1]
새내기
2025-02-11
119
10511PostgreSQL15에서의 DB 백업 문제... [2]
이창규
2025-02-04
201
10510오라클 null, '' 값을 pg에서 동일하게 처리가능한지 문의드립니다 [2]
ghost
2025-02-03
163
10509vacuum관련 문의드립니다. [2]
ghost
2025-01-31
150
10508PostgreSQL HA solution [2]
PGHA
2025-01-30
161
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2025 DSN, All rights reserved.
작업시간: 0.011초, 이곳 서비스는
	PostgreSQL v17.4로 자료를 관리합니다