DB & AWS Knowledge
PostgreSQL / PPAS 운영 중 테이블 파일 손실 혹은 유실 시 본문
728x90
반응형
해당 자료에서는 테스트 테이블을 통하여 해당 테이블을 저장하는 파일 이동 혹은 유실 시 어떤일이 발생 하는지를 기재한다.
- 아래와 같이 테스트 테이블을 생성한다.
- PostgreSQL 및 PPAS 는 아래와 같은 쿼리를 실행하면 해당 테이블 정보를 보유한 파일 디렉토리 정보를 볼 수 있다.
select pg_relation_filepath('test.move_test'); #괄호 안에 있는 테이블은 자신이 만든 테이블명으로 조회하면 된다.
- 테스트로 데이터를 기입 후 SELECT 를 하여 기입된 데이터를 확인 해 본다.
- 그 후, 다른 세션으로 접속 후, 위의 디렉토리로 가서 파일을 다른디렉토리에 복사 후, 원본 데이터 파일을 삭제 한다.
- DB에 접속 중인 세션에서 다시 테스트 데이터를 기입 후 SELECT 를 해보면 아래와 같이 데이터가 기입 된 것을 볼 수 있다.
또한 파일이 삭제 되어도 아래와 같이 디렉토리 정보가 그대로 유지중임을 볼 수 있다.
- \dS+ 테이블 정보를 보면 그대로 조회가 가능하나 \dt+ 를 통하여 조회하면 데이터 size 가 조회되지 않음을 볼 수 있다.
그 후, DB 를 나갔다 들어오면 조회가 되지 않음을 알 수 있다.
- 다시 다른 디렉토리에서 복사한 파일을 가져온다.
- 파일을 다시 가져오면 데이터파일이 없는 상태에서 기입됐던 데이터까지 확인이 가능하다.
(단, 해당 방법은 shared_buffer 및 wal log 에 데이터 변경 내역을 전부 보관하지 못했다면 정합성을 보장 할 수 없다.)
- 또한 테이블 조회를 하면 size 조회도 정상적으로 됌을 알 수 있다.
반응형
'PostgreSQL > 기타 지식' 카테고리의 다른 글
PostgreSQL / PPAS DDL 수행 시 발생하는 lock 의 유의성 (0) | 2023.07.08 |
---|---|
pg_hba.conf 파일 구성 (0) | 2021.06.14 |
상이 버전간 Replication 설정 (0) | 2021.03.08 |
PostgreSQL / PPAS 테이블 rename 시 동일 인덱스 적용 가능 유무 (0) | 2021.03.08 |
PostgreSQL / PPAS 버전 구분 (0) | 2021.03.07 |
Comments