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 10463 게시물 읽기
No. 10463
삭제 구문시간 확인 방법 문의
작성자
뽀글러
작성일
2024-03-14 15:38
조회수
169

postgresql 에서 특정시점(날짜)로 복구가 가능한 것으로 알고 있습니다. 

정확한 삭제 날짜를 알수 없는경우, 해당 삭제 구문 ( DDL /DML ) 을 찾고 싶은데요.

해당 구문의 시간을 별도로 확인할 수 있는 방법이 있을까요 ? 

pg_waldump 로 wal파일을 분석해도 어떤 DML인지 (insert인지 ) 정도만 확인 가능하고 쿼리전체를 볼수는 없어서요.

혹시 아시는분 있으시면 답변 부탁드립니다.

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

dml 관련 모든 쿼리를 감시하고 있는 것이 아니라면 waldump로 해당 테이블과 delete 명령, 시간대로 유추할 수 밖에 없습니다. 


'이 명령으로 그 자료가 삭제 되었다' 라는 식의 감시가 필요하면 작업 로그성 트리거를 걸어두든가, 관련 테이블을 논리 디코딩 플러그인으로 연결해서, dml 작업 모두를 별도의 파일이나, 로그로 남겨놓지 않고서는 추적이 불가능합니다. 


한 흔적이 있네요. 

https://medium.com/ssgtech/%EC%B9%B4%ED%94%84%EC%B9%B4-%EC%BB%A4%EB%84%A5%ED%8A%B8-%EC%A0%81%EC%9A%A9%EA%B8%B0-8d322e042cac

김상기(ioseph)님이 2024-03-14 15:48에 작성한 댓글입니다.

그럼 log_statement = 'all'  로 일단 쿼리를 남기는 방향으로 운영해야겠습니다.


답변 감사합니다.  

뽀글러님이 2024-03-18 12:24에 작성한 댓글입니다. Edit

log_statement = 'all'

설정은 데이터베이스 성능을 많이 떨어뜨립니다. 

delete 문제라면 dml 정도로 (이것도 많습미다만)


wal2json 확장모듈로 감시 영역은 db 인스턴스 밖에서 하는게 좋을거에요. 

물론 wal2json 모듈 이상 동작이나 운영 미숙으로 wal 쪽 공간을 많이 쓰게 되어 인스턴스 장애 생기는 것을 잘 감안하시고.

김상기(ioseph)님이 2024-03-18 15:22에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
10466pgpool 정족수 [3]
찌르버드
2024-04-01
149
10465왜 상용 DBMS는 인덱스용 자료구조로 B+Tree 대신 B-Tree를 사용할까요? [3]
이진호
2024-03-29
127
10464Oracle 처럼 Dependency 상태 체크 방법 있을까요? [4]
신은정
2024-03-19
205
10463삭제 구문시간 확인 방법 문의 [3]
뽀글러
2024-03-14
169
10462Tibero to PostgreSQL [1]
임한수
2024-02-26
212
10461파워빌더에서 bytea 타입 이미지 출력 [1]
piamail4z
2024-02-21
178
10460invalid page in block~ 오류 관련 문의 드립니다 [3]
ilyam
2024-02-14
178
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다