0

나는 수행하여 내 생산 environtment에서 매일 덤프를 취Postgres의 일일 데이터 덤프 및 수화로 디스크 공간이 막히지 않으십니까?

다음
pg_dump <database name> > dump_<date>.sql 

내가 준비에 이상이 전송 먼저 테이블에 놓아 준비 DB를 가져옵니다

drop schema public cascade; 
create schema public; 

을하고 일을 다음 :

psql <database name> < dump_<date>.sql 

그러나 스테이징 DB가 비정상적으로 커지고있는 것처럼 보입니다. 이 시점에서 테이블 & 데이터를 삭제 한 후에도 DB 폴더에 150GB의 공간이 있습니다.

로그 또는 메타 데이터가 폴더를 막는 것처럼 느껴집니다.

이 작업을 수행하는 적절한 방법은 무엇이며 DB를 삭제하고 매번 다시 시작하는 것 이외에이 추가 데이터를 정리하는 좋은 방법이 있습니다. 감사합니다.

+0

답장에서 제안한대로 체크 아웃 복제를 수행 했습니까? – e4c5

+0

확인, 감사합니다! – emraldinho

+0

안녕하세요. 이전 답변 중 일부를 살펴 보았습니다. 어떻게 된거야? – e4c5

답변

1

더 좋은 방법이 있습니다. 훨씬 더 좋은 방법입니다.

https://www.postgresql.org/docs/9.5/static/high-availability.html

데이터베이스 서버가 주 서버 (고 가용성) 실패하는 경우를 통해 신속 두 번째 서버가 을 할 수 있도록하기 위해 함께 작동, 또는 에 여러 컴퓨터가 동일한 데이터를 제공하도록 허용 할 수 있습니다 (로드 밸런싱). 이상적으로 데이터베이스 서버는 원활하게 함께 작동 할 수 있습니다. 정적 웹 페이지를 제공하는 웹 서버 은 단순히 웹 요청을 여러 컴퓨터에로드 균형 조정하여 매우 쉽게 결합 할 수 있습니다. 사실, 읽기 전용 데이터베이스 서버도 비교적 쉽게 결합 할 수 있습니다. 불행하게도 대부분의 데이터베이스 서버에는 읽기/쓰기 혼합 요청이 있고 읽기/쓰기 서버는 결합하기가 훨씬 어렵습니다. 이는 읽기 전용 데이터를 각 서버에 한 번만 배치해야하지만 에 대한 모든 서버를 모든 서버에 전파해야 나중에 해당 서버에 대한 요청이 일관된 결과를 반환하도록해야하기 때문입니다.

이제 설명서를 읽을 때 처음에는 매우 겁나는 것 같습니다. 그러나 실제로는 전체 클러스터를 덤프하고 postgresql.conf에 WAL 로깅을 활성화 한 다음 WAL 아카이브 파일을 매일, 매주 또는 매월 다른 서버에 복사하면됩니다.

관련 문제