2011-12-09 4 views
2

나는 ec2에서 postgresql의 성능을 향상시키고있다.임시 테이블 공간 파괴 후 Postgres 복구

ec2 노드는 느리고 내구성이 뛰어난 네트워크 연결 저장소 (EBS)를 사용하며 빠르고 휘발성 인 저장소 (임시 저장소)가 있습니다. 즉, 시스템이 망가질 경우 임시 저장 용량이 손실됩니다.

DB 성능을 향상시키기 위해 임시 저장 영역에있는 디렉토리에 내 postgres temp_tablespaces를 설정하고 있습니다. 그러나 임시 저장 장치에는 내구성 보증이 없습니다. 시스템 고장시 완전히 영구적으로 파괴됩니다.

데이터 손실 위험이 있습니까? 원칙적으로 temp_tablespace는 임시 객체에 사용되므로 나에게 있어서는 안된다. 하지만 postgres 데이터 모델에 친숙하지 않습니다. 여기에 위험이 있습니까?

답변

1

예, 안전해야합니다. 임시 테이블이 완전히 커밋되어야 작업이 중단되기 전에 작동하기 전에 복구해야합니다. PostgreSQL이 재시작 할 때 해당 영역을 지우는 지 모르겠지만 직접 확인합니다.

이제 적절한 괴짜

+1

PostgreSQL의 임시 날짜의 콘텐츠에 대한 트랜잭션 로그를 사용하지 않습니다 ... Amazon's memcache equivalent를 통해 파일 시스템을 구현하고 그것을 사용하려고 것이다, 그러나 그것은 임시 테이블에 대한 문제가되지 않습니다. 그러나 문제는 테이블 스페이스 사전입니다. 파일 시스템에서 언제 파괴 되었습니까? 그러면 데이터베이스에 수동으로 삭제하고 수동으로 다시 만들어야합니다. 복구 프로세스에서는 몇 가지 경우에만 재생성됩니다. –