Postgres에서 1 시간마다 증분 백업을 수행하는 방법은 무엇입니까?


18

단일 Postgres 서버 (Win7 64)의 시간별 증분 백업을 시도합니다.

나는 다음과 같은 설정을 가지고있다 postgresql.conf:

max_wal_senders = 2
wal_level       = archive
archive_mode    = on
archive_command = 'copy "%p" "c:\\postgres\\foo\\%f"'

(재시작)

나는 기본 백업을했다 pg_basebackup -U postgres -D ..\foo -F t -x

폴더에 큰 base.tar파일을 만들고 foo16,384KB 파일을 추가했는데 WAL이라고 가정합니다.

내가 이해하지 못하는 것은 WAL foo이 바뀌지 않는 이유 입니다. WAL이 data/pg_xlog변경되었습니다. pg는 그들을 복사하지 않아야합니까? 그렇게하기로 어떻게 결정합니까?

아마도 설정해야 archive_timeout=3600합니까?

pg_start_backup () 및 pg_stop_backup ()을 호출해야한다고 말하는 여러 사이트 (pg의 메일 링리스트, bacula의 postgres 페이지)를 보았지만 필요하지 않다고 생각합니다. 그게 사실입니까?

이차 질문 :

  1. WAL은 얼마나 자주 data/pg_xlog작성됩니까? 쓰기를 유발하는 원인은 무엇입니까?

    \qpsql에서 DML을 수행하면 WAL을 업데이트하는 것 같습니다 . 또는 pgAdmin에서 테이블을 편집 한 다음 창을 닫으십시오. 나는 그것이 커밋에 쓸 것이라고 생각했다.

  2. 모범 사례? 일주일에 한 번 pg_basebackup? PG 또는 원격 컴퓨터와 동일한 컴퓨터에 WAL을 보관 하시겠습니까?

답변:


5

보관 폴더를 원격 저장소에 증분 백업하려고합니다.

백업에서 복원해야하는 경우 기본 시나리오는 시작점으로 기본 백업이 필요하고 시작점과 충돌 사이에 발생한 트랜잭션 활동을 재생하기 위해 아카이브 폴더의 전체 컨텐츠가 필요하다는 것입니다.

또한 보관 폴더의 파일이 영원히 쌓이지 않도록 때때로 새 기본 백업을 수행하고 새 기본 백업 전에 보관 된 파일을 삭제하려고합니다.


감사. 몇 가지 질문 : 1. pg_start_backup ()을 수행하고 데이터를 복사 한 다음 pg_stop_backup () 또는 pg_start_backup ()을 실행합니다. pg_stop_backup (), 복사?
닐 맥기 건

@Neil : 1. 및 2.를 사용할 때는 적용하지 마십시오 pg_basebackup. 이미이를 처리합니다. 3. postgres는 pg_log더 이상 필요없는 WAL 파일을 자동으로 삭제 합니다. 에서 수동으로 작업을 수행해서는 안됩니다 pg_log. 그렇지 않으면 wal_keep_segments매개 변수를 참조하십시오
Daniel Vérité

"아카이브"폴더 란 pg_xlog를 의미합니까?
Neil McGuigan

@ NeilMcGuigan : 전혀 아닙니다. 보관 폴더는 보관 명령의 대상 폴더입니다 (예 : "c : \ postgres \ foo"). pg_xlog아카이브 폴더는 전적으로 DBA에 의해 관리되는 반면, postgres는 전적으로 자동으로 관리됩니다.
Daniel Vérité

나는 foo는의 WALs 결코 초기 pg_basebackup 후 변경하지 때문에 혼란 것 같아
닐 맥기

8

기존 도구 인 WAL-E가 도움이 될 것 입니다. 그것은 제공 archive_command하고 restore_commandPITR에 대한 S3에.

증분 또는 차등 논리 백업 을 수행하는 명령 이 없습니다 . 증분 또는 차등을 취할 수 없습니다. 이를 수행 할 수있는 유일한 방법은 로그 아카이브를 통하는 것입니다.pg_dump

이론적으로 새로운 전체 백업을 수행하고 백업과 마지막 백업간에 이진 차이를 수행 한 다음 차이를 업로드 할 수 있습니다. 이것은 나를 깨지기 쉽고 비효율적 인 방법으로 생각 나지만 실제로는 권장하지 않습니다.

또한 PgBarman은 후크 스크립트를 통해 S3와의 통합을 지원하며 백업 회전 및 관리를 자동화합니다. 다시, 이것은 Windows에서 옵션이 아닐 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.