안녕하세요
DROP 한 테이블 복구방법이 있을까요?
DROP 이후에 디스크 용량이 줄거나 하지는 않은 것 같아서 혹시나해서 질문 올립니다..
DROP 이후 약 8분 경과후 DB는 종료시킨 상태입니다.
PostgreSQL 12를 사용 중 입니다.
PostgreSQL은 drop 작업도 트랜잭션 작업으로 간주합니다. 그래서,
drop 명령 뒤 commit 되었다는 응답을 서버에서 받았다면, 방법이 없고,
(통상 psql 상태에서 작업한 거라면, drop 작업 뒤 다음 명령을 입력할 수 있는 입력 프롬프트가 나온 상태, 기타 GUI 툴이라면, auto commit 기능을 꺼둔 상태라면, commit 단추를 눌렀는 상태, auto commit 기능이 켜저 있는 상태라면, 상태 표시줄에 해당 명령을 완료했다는 메시지를 본 상태)
이런 상황이 아닌 상태에서 서버를 강제 종료했다면, 다시 서버를 실행하면 drop 작업이 완료된 것이 아니기 때문에 다시 테이블이 보입니다.
하지만, 통상 이런 경우는 거의 없습니다.
원칙적으로는 drop 작업 뒤 지운 테이블을 살릴 수 있는 방법은 백업본을 가지고, 복구하는 방법 뿐입니다.